
Una delle cose che dice Guido che più mi piacciono è:
Don’t write Java (or C++, or Javascript, …) in Python.
E ci aggiungerei: leggete il manuale, tutto, più volte.
Tipo ieri che mi è capitato di dover intervenire in pronto soccorso codice rosso per uno scriptino-ino-ino in Gnuplot.
La versione che era stata montata in base ai miei esempi era –come si dice– pasticciosa, ecco. Si poteva fare molto più direttamente, più brevemente, dopo aver letto il manuale e navigato un po’ su Gnuplotting.
Tutto questo succede perché ci si deve comunque ambientare, non è possibile saltare la fase di apprendimento, non si può solo copiare l’esempio che fa quasi quello che si vuole e aggiustarlo a martellate.
E ogni aggeggio dev’essere usato nel modo appropriato, non come si usano gli attrezzi simili, proprio come dice Guido.
D’altronde, sempre per il caso di ieri, si è visto come usare una versione decente recente del Fortran porta a impostare diversamente il codice (mi riferisco all’uso dei moduli al posto dei common).
E serve anche una dose sufficiente di elasticità mentale per passare da un linguaggio a un altro.
A proposito: imparare un nuovo linguaggio può essere più o meno facile, dipende da quello che già si sa e dalle caratteristiche del linguaggio. Io per esempio ho difficoltà con quelli funzionali (non ne conosco neanche un po’ nessuno). E non si può neanche barare, come qui:
If you have ever worked with imperative languages, statements such as
i++may be normal to you; in functional programming they are not allowed. In fact, changing the value of any variable is strictly forbidden! This may sound weird at first, but if you remember your math classes, it’s in fact how you’ve learned it:y = 2
x = y + 3
x = 2 + 3
x = 5Had I added the following:
x = 5 + 1
x = x
∴ 5 = 6
No, dai! questa è propaganda! Se vuoi altri linguaggi al posto di i++ hanno:
inc(i) -> Delphi
(inc i) -> newlisp
(1+ i) -> CL
+1 no! questo è il like di Google plus
E sai una cosa? in tutti i casi l’incremento può essere anche maggiore di 1; certo, devi usare le variabili
