[Python] Secondo voi questo corso su Python è valido?

simozack simozackml a gmail.com
Lun 14 Nov 2011 16:25:23 CET


Il 14 novembre 2011 16:00, Francesco Maida <dev a cesco.it> ha scritto:
> Però mi sembra di aver solo scalfito la superficie.
> Vorrei sapere come si fanno le cose più avanzate. Sapere se Python
> permette di creare interfaccie e classi astratte, conoscere e saper
> utilizzare lo unit-testing, tirare fuori il meglio dagli strumenti per
> il debugging, capire finalmente cosa sono questi benedetti
> decoratori... insomma, imparare ad essere un programmatore migliore.

Premetto che non sono un programmatore professionista, ma solo per
diletto, per cui prendi quello che ti dico con le pinze... :)

Cito in particolare questa classe, perché credo che sia la più rappresentativa.

Per quella che è stata la mia esperienza (da dilettante, ripeto),
prenditi un buon libro. Non perché i corsi siano fatti male o che non
servano, per carità, ma perché non vale la pena ad avere come vincolo
un corso per imparare Python.

La mia scelta su Python, ad esempio, è caduta perché semplicemente
pensando come risolvere un problema, mi veniva fuori codice Python.
Insomma, per la mia classe di problemi (scarsa). Tutto quello che hai
citato in quella frase, di fatto poco centrano con Python, o meglio
Python è solo un modo per esprimerle. Per cui, alla domanda: "Mi serve
un corso Python", la mia risposta sarà no: il concetto di classe è un
concetto dell'OOP, non di Python. Lo unit testing è un concetto che
trovi su contesti di Agile development, non su Python. I decoratori
rientrano in un concetto di programmazione funzionale, non in Python
(correggetemi se sbaglio). Lo strumento di debug... beh, per la mia
classe di problemi non ne ho mai sentito il bisogno. Di unit-test sì,
ma di debugging no.

C'è da qualche parte su internet un libro (gratuito e ben fatto, di
cui non ho il link sotto mano) che spiegava l'OOP in Python, ma dopo
averlo seguito per un po' mi sono reso conto che di fatto poco aveva a
che vedere con Python, o meglio, Python era solo un "dettaglio
implementativo" della teoria sottostante.

Per cui +1000 a quello che ha detto Enrico.

Poi ho dato un'occhiata al tuo programmino sull'acqua alta. Un paio di
consigli: 1) se vuoi imparare Python, allora comincia dalla PEP8, con
le linee guida "stilistiche" (metto tra virgolette, perché Python è
innanzi tutto un modo di pensare diverso dal solito; ad esempio è
l'unico che conosco che ha nei principi fondanti "readability counts"
- "import this" da terminale per altri principi filosofici); 2) Evita
il nome delle variabili col tipo davanti, tipica del Visual Basic
(sbaglio o si chiama notazione ungara?): in Python le variabili sono
oggetti e il loro valore non è per forza legato ad un tipo (ad
esempio, se metti iPippo, uno si aspetta che Pippo sia Integer, ma se
fai alcune prove, l'intero Python può essere anche un long).

Ok, intanto basta e scusate se ne ho dette troppe... :)

Ciao,
Simone


Maggiori informazioni sulla lista Python