Python 3 continua, versione dopo versione, il suo cammino verso la piena maturità e questa 3.3 non fa eccezione portando in dote, oltre ai consueti bugfix di rito, anche delle interessanti novità .
Ieri è stato rilasciato Python 3.3.0 alpha 1 ed è stato pubblicato un comunicato che dettaglia le nuove funzionalità della versione 3.3. Spicca una nuova implementazione del memoryview e un globale miglioramento delle performance (grazie alla PEP 393) attraverso un migliorato supporto ad Unicode (storico tallone d'Achille): adesso le stringhe in questa codifica potranno essere rappresentate internamente dall'interprete in varianti diverse per ottimizzare lo spazio utilizzato.
Alzandoci di livello un'altra modifica interessante è stato il refactoring delle eccezioni generabili dal sistema operativo (di tipo OS e IO) che sono state accorpate in OSError
e suddivise in sottoclassi multiple per permettere una maggiore flessibilità in fase di gestione agli sviluppatori.
Infine ci sono una buona quantità di aggiunte ai moduli di base, da codecs a curses passando per math e sys. Per citarne una tra le più carine: io.open()
oltre ai canonici 'r'
ead e 'w'
rite adesso ha un nuova opzione 'x'
che permette di creare un file direttamente da script e gestire eventuali condizioni di corsa.
Non credo abbia molto senso elencarvi tutte le piccole migliorie quindi se siete interessati vi consiglio di dare una lettura voi stessi.
Tenete presente che questa è solo una alpha e non è adatta per essere utilizzata in produzione (le attuali versioni stabili sono la 3.2.2 e 2.7.2) .
C'è da dire poi che per quanto ogni nuova versione sia sempre più solida si riscontra ancora un certo attrito da parte della comunità ad adottare il nuovo interprete. L'incompatibilità con le vecchie 2.x e le innumerevoli librerie non ancora propriamente convertite sono le principali cause... e non sono certo problemi da poco se pensiamo che, ad esempio, un gigante come Django è ancora basato ufficialmente solo sulla 2.x.
E voi sviluppatori nostrani, invece, a che punto siete con la conversione?