[Python] Come approcciare il python

y3s a katamail.com y3s a katamail.com
Mer 23 Gen 2008 15:02:02 CET


> On Jan 23, 2008 11:44 AM, y3s a katamail.com <y3s a katamail.com> wrote:
>
>> > Il mio intervento è volto per scoraggiare:
>> > 1. un'applicazione quasi 1-1 di tali pattern
>> > 2. il modo di ragionare a pattern che spesso viene promosso ed è
>> > tipico di buona parte del mondo (anche di quello 'buono') Java.
>> >
>>
>> Non capisco molto il punto 2...perchè scoraggiarlo? Alla fine i pattern
>> sono soluzioni sulla cui bontà tutti più o meno concordano...che so, se
>> io
>> dico "un iteratore" tutti sanno di cosa parlo e si sa che in generale è
>> un
>> buon metodo per attraversare collezioni. Ovvio che poi non bisogna
>> abusarne, e che bisogna avere un minimo di senso critico per capire se è
>> il caso di applicare un certo pattern oppure è preferibile inventarsi
>> una
>> soluzione ad hoc, ma questo è un discorso più generale. Io credo che
>> avere
>> un linguaggio comune per riferirsi ad alcuni problemi e alle soluzioni
>> generalmente accettare per risolverli sia un bene!
>>
>>
>
> Credo che il punto di Enrico fosse che in Python,
> sia per la filosofia del linguaggio, sia per la ricchezza
> della libreria standard o dei moduli fuori libreria ma diffusissimi,
> molti pattern non sono neanche pattern, si tratta solo di scrivere
> in maniera "pythonica" :-)
>

Il fatto che moltissimi patterns siano già implementati dal linguaggio o
dalla stdlib non toglie importanza ai pattern stessi, anzi secondo me la
aumenta! Il fatto è che, come dicono gli stessi signori della GoF, i
pattern esprimono prima di tutto un linguaggio, un modo di comunicare un
concetto più o meno complesso in modo immediato e accettato globalmente
(più o meno).

> Visto che citi gli iteratori, pensa a quanto sono diffusi
> e al fatto che basta scrivere pythonicamente per usarli :-)
> with open("my_data") as f:
>    for line in f:
>       #fai qualcosa con la linea
>
> stai iterando senza neanche pensarci :-)
>

Esatto. Ma il fatto che so che sto utilizzando un pattern è IMHO un valore
aggiunto, che poi in python mi arriva gratis, meglio, ma se devo esprimere
la stessa logica in un linguaggio diverso o addirittura in nessun
linguaggio, posso sentirmi libero di dire "iteriamo sulla struttura dati"
e aspettarmi che il mio interlocutore mi capisca...spero di aver spiegato
cosa intendo!


-- 
Antonio Valente



More information about the Python mailing list