[Python] Sviluppare in python 2 o python 3

Enrico Bianchi enrico.bianchi a ymail.com
Mar 9 Giu 2015 00:44:59 CEST


On 06/08/2015 09:42 PM, Matteo Scarpa 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
Considerando che .Net e` un framework e che Unix e` una famiglia di 
sistemi operativi, spero che ti abbia sbattuto fuori a calci (senza 
offesa, sono in primis un sistemista, e sentire 'sti strafalcioni mi 
irrita non poco)

> É una cosa prettamente di guisti/abitudine o c´é qualcosa sotto?
Un po' tutti e due. I motivi che ho trovato io sono questi:

  - Compatibilita` con il pregresso. Questo e` forse il motivo piu` 
importante: se ho codice scritto per Python 2, e` molto piu` conveniente 
mantenerlo su Python 2, a meno che non ci sia un motivo decisamente 
valido per farlo. E ad oggi non esiste ancora.
  - Diffusione. Python 2 lo trovi praticamente su qualsiasi 
distribuzione. Python 3 no. Ora sta cambiando qualcosa, ma poco.
  - Scarsita` di librerie. La questione e` cambiata, e cambia 
gradualmente ogni giorno, ma alcune librerie chiave (e.g. Twisted) 
ancora non esistono per Python 3
  - Distribuzione. Un applicativo scritto per Python 3.2 quasi 
sicuramente gira sull'ultima versione del linguaggio (mi tengo sul 
condizionale per ovvi motivi). Diversamente, un applicativo scritto per 
l'ultima versione di Python difficilmente girera` su di una versione 
piu` vecchia del linguaggio. E per questo problema, l'unica soluzione e` 
compilare a mano la versione utilizzata durante lo sviluppo. Da questo 
punto di vista secondo me la colpa e` duplice, sia delle distribuzioni, 
che tendono ad essere ultraconservative, che degli sviluppatori Python, 
che non rilasciano una versione compilata per le distribuzioni.

Ad oggi, comunque, a meno di non avere vincoli particolari, conviene 
sviluppare direttamente in Python 3

Enrico


Maggiori informazioni sulla lista Python