[Python] Scegliere un linguaggio: un'ottimizzazione prematura?

Davide Olianas davide a davideolianas.com
Lun 10 Apr 2017 12:37:05 CEST


Il 10/04/2017 09:54, Roberto Polli ha scritto:
> Che ne pensate?
>
> "Choosing a language for you application simply because its “fast” is
> the ultimate form of premature optimization."
>

Ciao lista,

premetto che essendo uno studente, oltretutto di un settore diverso 
dall'informatica, la mia opinione al riguardo conta ben poco; 
confutazioni delle mie opinioni sono ben accette se argomentate.

Vorrei dire la mia perché sto facendo dei conti con un programma di 
quantochimica che terminano mediamente in qualche giorno, su una 
macchina con due processori Xeon da dieci core ciascuno. Questo 
programma scritto in Fortran (Gaussian se qualcuno è curioso) sfrutta 
tutti i processori in modo efficiente (almeno spero). Già qua python 
sarebbe fregato dal GIL volendo usare un approccio multithreading. Se 
dovessi aspettare venti volte "qualche giorno" - diciamo tre mesi - per 
un singolo risultato, sarebbe troppo (e qua concordo con l'articolo 
riguardo alla questione dei tempi).

Ovviamente direte "ma chissenefrega delle tue necessità di nicchia!" Al 
che posso anche essere d'accordo, però mi sembra che l'autore 
dell'articolo abbia decisamente ristretto la visione al settore del web 
development.

Non mi piace quando l'autore afferma che basta tirare nuovo hardware ai 
problemi per risolverli. In quanto utilizzatore di tecnologia posso dire 
che sono stufo di app mattone che prosciugano la batteria dello 
smartphone o sono lente. Sono stufo di siti lenti. Sono stufo di vedere 
KDE dieci volte più lento ad avviarsi di gnome o unity.

Oltretutto, finché non si trova un metodo economico su larga scala di 
riciclare i materiali dell'hardware, il cumulo di spazzatura tecnologica 
continua ad aumentare. Qua si esula di molto dal tema programmazione, ma 
vorrei ricordare che il codice non rimane nell'Iperuranio. Codice 
efficiente ha anche un minor impatto ambientale.

Ciao,
Davide


Maggiori informazioni sulla lista Python