[Python] Sviluppare in python 2 o python 3

Alessandro Re ale a ale-re.net
Lun 8 Giu 2015 22:51:04 CEST


On Mon, Jun 8, 2015 at 8:42 PM Matteo Scarpa <matteoscarpa92 a gmail.com>
wrote:

>  Sperando di non creare piú danni di quelli che ho ottenuto chiedendo al
> prof di sistemi operativi cosa fosse meglio tra i sistemi Unix e .Net
>

Ma .Net non è un framework di sviluppo? Mi sento un sacco ignorante perché
non cago windows da così tanto tempo (perché ovviamente *nix È Meglio) che
ero rimasto alla famiglia NT.


> volevo togliermi un dubbio: perché si sviluppano ancora applicazioni in
> python 2.qualcosa (ovviamente a meno di necessitá particolari tipo la
> libreria c'é solo per quella specifica versione) ripsetto che a una
> 3,qualcosa? É una cosa prettamente di guisti/abitudine o c´é qualcosa sotto?
>

TL;DR version: costa troppo.

Versione lunga:
La Risposta Giusta è che è una questione di costi. Ed è anche molto
generica, perché "costo" non vuol dire solo soldi, ma anche fatica, tempo,
preferenze personali.

Di sicuro c'é che la 2.x ha molta più storia alle spalle e quindi (stimo)
più supporto, più documentazione, più tutto. Anche, banalmente, più
probabilità di trovare un tutorial per la versione 2.x che per la 3.x
cercando su google, o risposte ad un problema su stackoverflow, etc.

Io ho usato la 3 sin da subito, e ti garantisco che nei primi tempi era
davvero una fatica cercare supporto per Python 3. Non tutti hanno tanta
voglia come me di sentirmi bleeding edge, e quindi aspettano che i tempi
siano maturi.

Ora siamo a 3.5, è matura, è in campo da tanto tempo, ma ci sono ancora un
po' di cosette da limare e di conti da fare con la storia, ecco perché si
sviluppa ancora con 2.x.

Esempio, tornando ai costi economici, considera una azienda che investe
milioni di dollari per ottimizzare la versione 2.5 di python per erogare un
servizio specifico per i suoi clienti. Python avanza, 2.6, 2.7, ma la 2.5 è
ancora buona per loro, perché continuano a migliorarla, patcharla, renderla
più stabile e sicura. A volte è un problema passare da una 2.x a una
2.(x+1) - che è retrocompatibile- specialmente per aziende enormi con una
larga base di utenti e di codice da servire.

Immagina cosa vuol dire passare da una versione ad una non retrocompatibile.

Quindi, ecco, se ci sono dei giocatori grossi come Google p Dropbox, che
nonostante la 3.x sia uscita da anni continuano ancora a sviluppare per la
2, fanno prodotti per la 2, supportano la 2, etc, è chiaro che questi
giocatori hanno un'influenza grossa sul mercato, e quindi il mercato fa
fatica a cambiare.

Ma questo discorso si applica anche ai giocatori piccoli, alle aziendine di
10 programmatori dove la maggior parte di loro non ha tempo né voglia di
imparare un linguaggio sensibilmente diverso, dove la vecchia code-base non
è compatibile con la versione nuova, etc etc.

Insomma, costa troppo. Quindi ci vuole molto tempo perché bisogna cambiare
un pezzettino piccolo alla volta.

Ciauz
~Ale
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20150608/aa16786d/attachment.html>


Maggiori informazioni sulla lista Python