Avec sa version 3.0, Python mue pour s'harmoniser 

Le 09 décembre 2008 (10:15) - par Cyrille Chausson

Imprimer Envoyer par e-mail

Rubriques : Outils de développement - langages Tags : web - developpement - communaute

Malgré quelques incompatibilités clairement affichées, la version 3.0 de Python habille un des langage tendance du développement Web d'une nouvelle peau, gage de sa maturité. Une nouvelle forme pour gommer ses erreurs de jeunesse.

« La première version de Python où la rétro compatibilité a été intentionnellement oubliée. »  C'est en ces termes que Guido van Rossum, développeur principal de Python a inauguré la sortie de la version 3.0 de son langage. Une mouture qui tranche avec les versions précédentes et extrait le langage de son ère 2.0 pour le plonger dans une mise à jour, «plus que majeure ». Au programme, syntaxe révisée et comme prévu depuis plusieurs mois, une incompatibilité fermement assumée avec les versions existantes. Le tout, pour un futur meilleur.

Python fait parti de ces langages qui montent, à l'image de Ruby (avec son framework Ruby on Rails) dont nous évoquions récemment l'ascension à l'occasion de Paris on Rails 2008. Python, qui a fait ses débuts en 1991, est à la base d'environnements comme Zope, ou encore du framework Django qui motorise, avec son système de template, Google App Engine, le framework de développement d'applications dans le nuage de Google. Le groupe a par ailleurs recruté Guido van Rossum.

Selon une étude EvansData, Python est réputé auprès des utilisateurs pour la lisibilité du code et sa facilité d'usage. Toujours selon cette même étude, il occupe la 4e place des langages interprétés préférés des développeurs, derrière Ruby, Atlas (le framework Ajax de Microsoft) et Flex (Adobe). PHP arrive en 6ème position de ce classement.

Harmoniser le langage

Cette version 3.0 de Python rompt avec le cycle classique du langage, en le corrigeant et en gommant ses défauts. C'est ainsi que Guido van Rossum résume en substance les modifications apportées à Python 3.0. Un point que confirment Philippe Lafaye et Julien Fache, deux développeurs de la SSLL Emencia spécialisée dans les développements Python, pour qui « cette mise à jour a justement pour but d'effacer les erreurs de jeunesse du langage, le faire progresser en prenant en compte l'évolution des besoins dans le milieu informatique, et de profiter d'idées qu'ont pu apporter certains nouveaux langages ». C'est notamment le cas de la Curryfication, un concept de programmation imaginé par le logicien américain Haskell Curry, déjà présent dans Perl, et qui a été introduit dans la version 2.6 de Python.

C'est ainsi le prix à payer de quelques incompatibilités, semblent-ils dire. D'autant que « les changements dans l'environnement Python pur ne sont pas si grands. Le plus représentatif est le passage du mot clef "print" [qui permet d'afficher les résultats d'une opération, notamment NDLR] en fonction. Il va falloir se re-adapter légèrement à la nouvelle syntaxe mais rien de contraignant ». Et d'ajouter : « Il faut savoir qu'à chaque version majeure de Python, de nouveaux éléments se greffent à la syntaxe et revoir sa manière de développer est donc déjà une habitude ».

Ces problèmes d'incompatibilités ne sont donc pas si handicapants que cela, pour le développeur. « L'apport de Python 3.0 est vraiment plus considérable que ses problèmes de non retro-compatibilité, avec notamment la gestion du tout Unicode qui évitera les trop nombreux problèmes d'encodage, » commentent Philippe Lafaye et Julien Fache dans un email envoyé à la rédaction.
D'autant que la migration vers la 3.0 depuis la 2.x, si elle peut être délicate, notamment « au niveau de l'interfaçage avec C », a été planifiée à l'avance par les équipes de la communauté Python. Un passage presque sans douleur puisque « la version 2.6 sortie il y a 2 mois, intègre les nouveautés de Python 3.0 en gardant la compatibilité 2.5 », soulignent-il.

Restera alors à appliquer le script 2to3 qui « s'occupe d'automatiser la migration de code 2.6 en 3.0 » et viendra ainsi, une fois quelques correctifs appliqués, clore la procédure de migration. Et ce, sans ré-écriture de code. Pas question alors de voir la communauté s'éroder et filer à l'anglaise vers d'autres langages, comme Ruby.

livres blancs avec LesSourcesIT.fr

Gouvernance, Risque et Conformité d’entreprise : un nouveau paradigme pour répondre aux nouvelles exigences

Dans un environnement des affaires de plus en plus mondialisé, les acteurs économiques et entreprises sont interconnec…


Support des environnements virtualisés : Critical Advantage de HP

La virtualisation des serveurs est devenue l’une des technologies les plus en vogue des dernières années. La raison …

vues 1322 lectures commentaire 1 commentaire(s) recommandation notez cet article
3

Réagissez à cet article

Votre Pseudo

Commentaire

Pertinence du commentaire : 3
Par Dr. Karl VI von Thulé
 Le 03/04/2009 à 18:29
L'un des interwievés evolue en bien , super cela ....
Noter ce commentaire
publicité
publicité
Les dossiers du MagIT

Démystifier les mythes sur le 10Gigabit Ethernet


Alors que le 10Gigabit Ethernet (GbE) est largement disponible depuis plusieurs, la technologie et encore nouvelle pour de nombreux administrateurs réseau. Cet E-Guide démystifie…

Protéger votre investissement et améliorer l’élasticité du réseau


Comment prendre en charge les évolutions imprévisibles du trafic applicatif tout en maintenant strictement les niveaux de performances attendus ? Concevez votre infrastructure de…
livres blancs avec LesSourcesIT.fr
Recevez les newsletters du MagIT
L'essentiel IT : L'actu IT au quotidien
événements

Etat du monde IT 2011

1 2 3 4 5   
Click Here