Emploi Start-up Evénements 01 Avis d'expert Vidéos Indicateurs Distribution Telecharger Pro Livres blancs

Python mue en une v3 plus cohérente, mais rétro-incompatible

Apprécié pour sa facilité d'utilisation, le langage Python fait le ménage dans sa syntaxe et son architecture. Au point de sacrifier la compatibilité avec les versions antérieures.
laisser un avis
envoyer
par mail
imprimer
l'article
partager sur Viadeo
partager sur Facebook
partager sur LinkedIn
partager sur Scoopeo
partager sur Technorati
partager sur Digg
partager sur Delicious
partager sur Google
partager sur Myspace
partager sur Yahoo!

Il y a une dizaine de jours, en annonçant la naissance de Python 3, le créateur de Python, Guido van Rossum, écrivait que cette version du langage interprété est “ volontairement rétro-incompatible ”. Ce qui signifie que les programmes écrits en Python 2.5 et 2.6 ne peuvent pas fonctionner avec les interprètes de la version 3. Il faudra procéder à une migration du code. Heureusement, un outil baptisé 2to3 est mis à disposition pour simplifier la tâche des développeurs.

Si les créateurs de Python ont pris cette décision, c'est tout simplement parce qu'ils ont souhaité “ décrotter ” ce langage qui existe maintenant depuis près de 18 ans. “ Nous avons corrigé les problèmes connus et enlevé beaucoup d'ancien fatras ”, explique Guido van Rossum, dans son article.

Valeur binaire et valeur texte

Parmi les changements les plus importants, figure la distinction nette qui est désormais faite entre valeur binaire et valeur texte que peuvent prendre les variables. Auparavant, il était possible de mixer ces deux types de valeurs, une conversion étant effectuée à la volée par l'interprète. Cette façon de faire était assez flexible, mais “ le problème, c'est que cela ne marche pas à tous les coups. Et quand il y a un problème, il est difficile de le corriger. Désormais, les choses sont beaucoup plus claires ”, explique Victor Stinner, ingénieur développeur chez INL, un éditeur et intégrateur dans les domaines de l'open source et de la sécurité.

Un changement du même acabit est lié aux nombres entiers. Dans les versions 2.5 et 2.6, il existe des entiers courts et des entiers longs. Là encore, l'interprète effectuait une conversion automatique en cas de besoin. Mais parfois, le développeur était confronté à des dépassements de capacité assez difficiles à cerner. Désormais, les deux types d'entiers sont fusionnés, simplifiant d'autant l'écriture des programmes.

Les responsables de Python ont également fait pas mal de ménage dans la librairie standard, qui est l'une des grandes forces de ce langage, car elle intègre énormément de composants logiciels et facilite le développement. Avec la version 3, beaucoup d'anciens modules ont été enlevés, d'autres ont été fusionnés. L'objectif étant de proposer une librairie plus cohérente et plus structurée.

L'adoption ne se fera pour tout de suite

Bien que toutes ces améliorations soient très sympathiques, il y a peu de chances que l'adoption de la version 3 se fasse rapidement. Tout d'abord en raison du manque de rétro-compatibilité. Même si elle est relativement simple à mettre en place, elle apporte toujours une dose de risque. Les entreprises vont donc appliquer le vieux principe informatique “ pourquoi changer quelque chose qui marche ? ”. D'autant que les versions 2.5 et 2.6 subsisteront encore pendant des années.

Par ailleurs, la version 3 n'est pas encore optimisée et abaisse les performances de calcul de 10 % par rapport aux versions précédentes. Les utilisateurs attendront donc au moins pendant un an, avant d'utiliser Python 3 en production.

Enfin, Python 3 tout seul n'est pas forcément très utile. Il faut aussi que les principales extensions du langage se mettent au diapason de la nouvelle version, telles que Zope pour le développement Web, SciPy pour l'ingénierie, Twisted pour la programmation réseaux, etc. Cette adaptation risque de prendre un peu de temps, vu le ménage qui a été fait. Zope, comme l'explique le consultant spécialisé Cameron Laird, a par exemple mis six mois pour implémenter la version 2.6…

débat
Soyez le premier à réagir
Python mue en une v3 plus cohérente, mais rétro-incompatible
publicité
débat
0 réaction
 
Soyez le premier à réagir !
à lire aussi
SUR LES MÊMES THÈMES
Apple face à la grogne des développeurs iPhone
2010 sera-t-elle l’année de Ruby ?
Bada, l’OS de Samsung qui va déchaîner la tempête ?
Sécurisez vos applications Web dès leur conception
Google annonce Android 2.0 et livre un nouveau SDK
Le noyau de Symbian est désormais open source
Surveiller ses bureaux... avec un routeur Cisco
Téléphoner via Firefox va devenir banal
Un concours de développement d’applications mobiles ouvert aux étudiants
Nokia met à la disposition des développeurs un kit pour OVI
Palm ouvrira en septembre une boutique en ligne pour le Pre
Javascript et PHP, de plus en plus utilisés dans l'open source
Nokia veut-il se débarrasser lentement de Symbian?
La version iPhone du framework Mono est disponible en bêta
La communauté Debian se déchire face à une nouvelle politique de développement
Microsoft ouvre son « AppStore » aux développeurs
Créer des extensions Firefox devient plus simple
Microsoft fournit gratuitement sa méthode de développement sécurisé
Une API pour Google Analytics
OS mobile cherche développeurs
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Tous droits réservés © 1999 - 2009 Internext - 01net.