Ma grazie!
2014-10-07 7:41 GMT+01:00 Giovanni Porcari <giovanni.porc...@softwell.it>: > > > Il giorno 07/ott/2014, alle ore 00:26, enrico franchi < > enrico.fran...@gmail.com> ha scritto: > > > > 2014-10-05 11:34 GMT+01:00 Enrico Bianchi <enrico.bian...@ymail.com>: > > > > Python e` ad oggetti, ed implementa ogni sua caratteristica secondo > questo paradigma. Pero` Python permette di scrivere codice sia usando il > metodo procedurale (ovvero come C, Pascal, Go), sia usando il metodo ad > oggetti classico (Java, C#, Delphi). > > > > Secondo me tu stai confondendo uno *stile* di programmazione (o se vuoi, > di design) con il supporto sintattico ed eventualmente semantico di un > linguaggio a quello stile. Lasciando perdere Pascal che so che a te piace e > a me fa un po' lasciamo perdere... > > > > C'era anche un bellissimo libro sulla programmazione ad oggetti in C. > Come come? C. Si. C. Non C++. C. > > Eccome avranno fatto? Leggitelo. > > > > D'altra parte, senza andare lontano, prendi Python, apri il cofano e > guarda come e' fatto. > > > > E troverai guarda un po'... C. C ad oggetti. Pesantemente ad oggetti. > Trovi relazioni di incapsulamento, polimorfismo (gia' gia'), ereditarieta'. > Trovi proprio tutto. E si, in C. > > > > Ma in effetti... ci sono parecchi esempi, piu' o meno riusciti. gobject > e' C. E non direi che non e' roba ad oggetti. > > Ma anche robbe piu' strane. Tipo guardati come fanno quelli di gmp. E > vedrai che gli oggetti... scusa... gli interi di gmp tendono proprio a > comportarsi come oggetti. Tipicamente prima di usarli devi chiamare un > costruttore... no, scusa, un metodo, no scusa, una funzione _init, quando > li distruggi, no scusa, li deallochi, devi chiamare un distruttore, no > scusa, un metodo, no scusa, una funzione (che non ricordo se e' _free o > _delete o checcavolo). > > > > E non e` che uno dei due metodi sia meglio dell'altro, semplicemente uno > usa quello che meglio si adatta al proprio scopo. > > > > Uhm... sara'. Il fatto fondamentale e' che io ho la forte sensazione di > stare programmando ad oggetti anche quando non sto definendo classi... Ora > questa potrebbe essere la scusa geniale per chi non conosce la > programmazione ad oggetti per asserire di stare programmando ad oggetti. Ma > davvero... > > > > Il problema e' che tutto il problema e' che non c'e' manco una > definizione di programmazione ad oggetti. O meglio... ce ne sono mille. E > ognuna enfatizza un qualche aspetto, si rifa' a qualche linguaggio > "pioniere" e/o a qualche padre della programmazione ad oggetti. > > > > Ora personalmente la parte che mi interessa meno e' l'aspetto sintattico > della faccenda. Certo, fare programmazione ad oggetti senza avere > particolare supporto da parte del linguaggio tende ad essere notevolmente > piu' scomodo. Chesso'... ti devi popolare una vtable a mano (tipo, guarda > come sono implementati i tipi in Python, sotto sotto). Che oggettivamente > farei anche a meno tutti i giorni. E infatti non scrivo una vm tutti i > giorni. > > > > Quindi puoi scrivere codice veramente non ad oggetti in Python? Certo. > Puoi farlo anche in Java. static anyone? > > Se poi mi chiedi una code review non ti aspettare di non dover passare > sul mio cadavere, ma l'idea e' un po' quella. > > > > Tipicamente le idee alla base della progettazione ad oggetti sono > *talmente* buone [si lo so, non ho definito quello che e', almeno per me] > che e' *difficile* sostenere che farne a meno sia una buona idea. > > > > L'assioma "la programmazione ad oggetti e` meglio della programmazione > procedurale" e` un concetto di Java e (penso) di C# che sta bene in quei > contesti (anche perche` non hai scelta), ma che mal si adatta a Python, > proprio perche` in quest'ultimo hai una metodologia di programmazione > totalmente differente > > > > Uhm... no. Cerchiamo di capire cosa sia la programmazione ad oggetti e > cosa sia la programmazione procedurale. Vediamo cosa offre la seconda piu' > della prima, cosa offra la prima piu' della seconda e traiamo le ovvie > conclusioni. > > > > > > > > Questa mail รจ una delle ragioni per cui vale la pena di sopportare i flame > per il top quoting in questa lista. > La leggi e dici 'cazzo che modo elegante e preciso di spiegare le cose'. > > Grazie Enrico.. mattina iniziata bene :) > > G > > _______________________________________________ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python > ... a proposito di top quoting ;) -- . ..: -enrico-
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python