[Python] Upgrading or not upgrading? That's the question.

Marco Giusti marco.giusti a gmail.com
Mar 23 Apr 2013 11:37:37 CEST


On Tue, Apr 23, 2013 at 10:22:21AM +0200, Gabriel Battaglia (Kriyaban) wrote:
> Buongiorno a tutti.

ciao :)

> Questa è una domanda di carattere generale che guarda al di là del
> contesto in cui la situerò.
> 
> In generale, dunque, come comportarsi quando, come è avvenuto qualche
> giorno fa, esce una nuova versione di Python?  Vale la pena installare
> la 2.7.4, sopra alla mia attuale 2.7.3?  Dove si può leggere un cahnge
> log?

allora, prima di tutto sono arrivato al changelog[1] dalla pagina
principale, dove si annuncia la nuova versione. ci sono arrivato un po'
per caso ma comunque dalla sezione news del sito dovrebbero essere
sempre raggiungibili.

[1] http://python.org/download/releases/2.7.4/

secondo, in linea di massima quando i primi due numeri non cambiano
allora è buona norma aggiornare perché gli aggiornamenti sono bugfix e
una nuova versione non porta cambiamenti che non sono compatibili con
del codice scritto per una versione precedente. normalmente anche quando
il secondo numero cambia, i cambiamenti sono compatibili con del codice
scritto per una versione precedente, ma qui i dettagli possono essere
più subdoli, per esemprio una libreria che elimina una funzione
deprecata. quindi se hai scritto codice per python2.5 non dovrebbe
essere troppo difficile usarlo con python2.7.

si può essere più precisi di così, se sei interessato chiedi pure che ci
sono molti più informati di me a proposito.

> E' più utile disinstallarne una perdendo eventuali installazioni di
> terze parti oppure conviene installare la più recente in maniera
> completamente separata avendo poi una marea di materiale doppio?
> Esiste un modo per unire le due versioni come se si trattasse di un
> upgrade di un singolo pacchetto software? Cioè, di una procedura che
> si occupa di aggiornare, modificare ed aggiungere solo i componenti
> nuovi lasciando tutto il resto delle installazioni, intatte?

questa procedura in windows non la conosco, ad altri la parola.

> Se non si aggiorna, non si rischia che... il tempo passi, le
> modifiche, le novità, i cambiamenti che via via escono nelle nuove
> versioni si accumulino e, il passaggio poi sarà più difficile dato
> l'ammontare di novità, qual'ora si decidesse un giorno di rimettersi
> alla pari?

codice scritto per vecchie versioni di python rischia di non utilizzare
alcune novità molto interessanti ma non per questo smette di funzionare.

più in generale è una questione di più fattori:

	1. vuoi continuare a supportare le vecchie versioni di python?
	2. quanto tempo vuoi dedicare al mantenimento del codice?
	3. le nuove feature sono molto interessanti o indispensabili per il
		codice che stai scrivendo?
	4. hai bisogno comunque di supportare le vecchie versioni?
	5. quanto tempo puoi dedicare al mantenimento del codice?

considera anche che tanti oggi testano il proprio codice e che con una
nuova versione di python puoi lanciare immediatamente i test per vedere
se il comportamento precedente è mantenuto oppure no. questo è un ottimo
modo di procedere e di aiuto se hai intenzione di supportare molteplici
versioni di python.

ciao
m.


Maggiori informazioni sulla lista Python