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

Carlos Catucci carlos.catucci a gmail.com
Lun 10 Apr 2017 10:22:47 CEST


On 10 April 2017 at 09:54, Roberto Polli <robipolli a gmail.com> wrote:
> Che ne pensate?

"A company’s most expensive resource is now its employee’s time.
It’s more important to get stuff done than to make it go fast."

Verissimo.

"By building teams around smaller projects and code bases, a company
is able to iterate and innovate at a much faster pace."

Qui pure consocrdo. La logica dei microservices (possiamo, fatti i
debiti distinguo, all'architettura microkernel che Linux all'inizio
avversava e alla fine ha cambiato idea [*]). Tante piccole cose che
fanno poco ma bene sono meglio (a mio avviso, se mi sbaglio accetto
correzioni) di uan grande che dovrebbe fare tutto. Perche0 le tante
piccole cose sono facili da sostituire/migliorare, mentre il leviathan
di bytes rischia di impantanarsi (il rischio di side effects sono il
primo problema che mi salta agli occhi).

" If someone has to wait at least 3 months for a package, I don't
think an extra 4 days will really matter all that much to them."

Qui io sono d'accordo con lui, mio figlio che attende il
"gioco/cellulare/device/quelchevipare" nuovo non la pensa allo stesso
modo. :D

"how much more productive Python is. It abstracts so many things for
you, helping you focus on what you’re really trying to code, without
getting stuck in the weeds of the small things such as whether you
should use a vector or an array. But you might not like to take
others’ word for it, so let’s look at some more empirical data."

Ancora una volta concordo con lui, di Python (e anche di Swift anche
se ancora non lo ho mai usato in progetti concreti, per ora) mi piace
che ti lascia concentrare su cosa devi fare perche' come farlo viene
naturale.

"Python is more than 2x as productive as Java in the above study"

No qui si sta sbagliando, il diagramma subito sopra la frase mostra
che il tempo necessario a risolvere un problema con Perl o Python [**]
e' di 2.5 ore mentre con java ne indica circa 10. Ovvero il quadruplo.

"Python tends to be the most concise, even against functional
languages (1.2–1.6 times shorter on average)"

Forse Clojure e' altrettanto conciso (e non a caso mi sta piacendo
molto anche se non ci ho potuto spendere molto tmpo per apprenderlo
bene).

"Even the codinghorror himself (a C# programmer)"

Ecco qui dissento, a me C# non spiace, e' quello che Java avrebbe
potuto essere senza riuscirci. Certo c'e' da dire che e' nato come
evoluzione, per di piu' "quasi" proprietaria, di Java, per cui e' piu'
facile evitare gli errori commessi da altri potendone sfruttare
l'esperienza.

"Any improvements made anywhere besides the bottleneck are an
illusion. — Gene Kim"
Le grandi verita' sono spesso semplici.

"Python has the ability to call into C code, which means that you can
rewrite this one method in C to reduce the performance issue. You can
do this one method at a time."
Altro argomento che io penso sia difficile da contestare. Certo devi
conoscere anche C, ma non mi pare sia un male. Direi che se un
programmatore non ha mai toccato C e' come se vai a Firenze e visiti i
sobborghi invece che le zone storiche. Ti manca la conoscenza di
qualcosa cosa importante, basilare.

Adesso pero' Robbie sono curioso di conoscere i motivi per cui TU non
sei d'accordo. Perche' sono ragionevolmente convinto che i tuoi
argomenti siano siano molto solidi.

* E qui si vede quando uno e' davevro bravo: sa ammettere di avere
preso una strada sbagliata e sa cambiarla.

** Poi con Perl a mio avviso c'e' il problema del capire cosa si sia scritto ;)

Carlos
-- 
EZLN ... Para Todos Todo ... Nada para nosotros


Maggiori informazioni sulla lista Python