Developpez.com

Le Club des Développeurs et IT Pro

Le moratoire sur le langage Python est accepté

Il durera 2 ans mais ne sera pas total

Le 2009-10-23 10:28:08, par Gordon Fowler, Expert éminent sénior
Mise à jour du 16/11/09

Le moratoire sur le langage Python est accepté
Il durera au minimum 2 ans mais ne sera pas total

Le Python Enhancement Proposal (PEP) vient d'entériner la proposition de moratoire sur la syntaxe du langage Python. Cette proposition avait été formulée par Guido van Rossum, le créateur du langage de programmation aujourd'hui responsable de projet chez Google (lire par ailleurs ci-dessous).

Le moratoire prendra effet à partir de la version 3.1 de Python pour une période d'au moins deux ans.

Il inclut donc les versions 3.2. Pyhton 3.2 sortira entre 18 et 24 mois après la version 3.1.

Les évolutions du langage reprendront à partir de Python 3.3 dont la date de sortie n'est à ce jour pas encore fixée.

Le gel des changements dans la synthaxe du langage est destiné à "permettre aux implémentations autres que celles en CPython de se familiariser (sic) avec le coeur de l'implémentation du langage, et [à] faciliter l'adoption des versions 3.x de Python en fournissant des bases plus stables à la communauté des développeurs".

CPython est un interpréteur de bytecode écrit en langage. Il est l'implémentation de référence du langage Python.

Ce moratoire connait cependant quelques exceptions. Pourront continuer à évoluer les API en C, les librairies standards ou le back-port des fonctionnalités de Python 3.x vers les version 2.x.

La période de ce moratoire n'est pas définitive. Elle pourrait donc être étendue par une nouvelle décision du PEP.
En revanche, elle ne pourra a priori pas être raccourcie.

Une vraie bonne idée ? Ou un langage qui n'évolue plus est-il voué à disparaitre ?

Source : Le Site officiel du langage

Mise à jour de Gordon Fowler

"Je propose un moratoire sur le langage Python"
Déclare Guido van Rossum, leader de son projet de développement

"I propose a moratorium on language changes".

C'est par cette phrase on ne peut plus claire que Guido van Rossum commence son mail où il indique qu'il souhaite voir figer la "grammaire et la sémantique du langage" pendant quelques années.

Il explique "La raison en est que les trop fréquents changements du langage provoque plus de mal que de bien en ce qui concerne l'implémentation des versions alternatives (Jython, IronPython, PyPy, ou d'autres) et très peu, voire aucun avantage pour l'utilisateur lambda".

On notera qu'il n'inclut pas la bibliothèque standard : "le moratoire ne couvrirait que le langue en lui-même plus les fonctions intégrées, et non la bibliothèque standard. […] la bibliothèque standard [a] beaucoup moins de chances d'être un obstacle à l'implémentation d'autres langage".

Guido van Rossum, qui travaille aujourd'hui chez Google, est le créateur de Grail, un navigateur entièrement réalisé en Python. Il est par ailleurs le responsable du projet de développement de ce langage.

Python est un langage de programmation libre, orienté objet, facile d'utilisation et puissant. Cousin de Perl, il est utilisé aussi bien pour des scripts simples que pour des programmes ambitieux ou pour l'intégration dans d'autres applications.


Guido van Rossum, Image Wikipedia

"L'objectif principal de la Communauté de développement de Python, à ce point devrait être d'obtenir une large acceptation de Python 3000", continue-t-il. "Il y a une tonne de travail à faire avant que nous soyons vraiment à l'aise avec Python 3.x".

Si la proposition peut surprendre, elle ne sort pas de nulle part. Une constatation s'impose. La sortie de Python 3.x a découragé beaucoup de développeurs, tant les changements ont été radicaux. La non-compatibilité entre Python 2.x et Python 3.x en est la manifestation la plus flagrante.

Laisser le temps au temps : l'idée est-elle si étrange ?

Source : Le mail de Guido van Rossum

Lire aussi :

Sortie de Python 3.1 release, qu'en pensez-vous ?

Les rubriques Python et Linux Pro (actu, tutos, forums) de Développez

Et vous ? :

Pensez-vous que ce moratoire serait une bonne chose pour Python ? Ou une mauvaise ?
  Discussion forum
5 commentaires
  • fanick
    Membre régulier
    Si les changements entre 2.x et 3.x sont aussi radicaux qu'on les decrit, alors ce moratoire ne pourrait qu'etre benefique, non seulement pour les developpeurs ayant des projets en cours, mais aussi pour les apprenants ... comme moi. Je pense que ce ne peut etre qu'une bonne chose. Reste à voir comment le comprend le reste du monde....
  • vincent.mbg
    Membre confirmé
    Bonjour,

    je ne sais pas si ça peut pousser les gens à utiliser python 3000. Le support intégrale d'unicode par python 3000 était déjà un argument de taille.

    Je pense que figer la syntaxe et la grammaire python, c'est prendre le risque de figer le langage lui- même. Les langages sont faits pour évoluer de façon à répondre à l'évolution du matériel.

    Comment vont t-ils faire si dans le futur de nouveaux concepts de programmation voie le jour ?

    D'un autre côté il y a encore plein de modules qui ne sont pas encore passés en python 3.0, Py2exe, PyMysql, PIL ( à vérifier ) et ça, c'est un vrai problème pour la migration de 2.x vers 3.x.

    pour les apprenants ... comme moi
    Pour l'apprentissage, fixe toi une version, puis ensuite adapte toi aux autres versions. Je pense que c'est le plus simple. J'ai appris sur la 2.5 puis je suis passé à la 3.1 puis revenu sur 2.6 parce que aujourd'hui, développer un projet en 3.1 ne répond à aucune demande.

    Mais ce moratoire n'est-il pas un changement de position de Guido van Rossum ?
    Je pensait que pour faire passer les gens à python 3000 il voulait sortir des version en 2.x de plus en plus proche de python 3000.
  • eyquem
    Membre extrêmement actif
    Guido Van Rossum a annoncé mardi 21 Octobre qu’il propose qu’un moratoire sur la grammaire et la sémantique de Python soit instauré pour plusieurs années.

    Ce moratoire couvrira le langage et les fonctions built-in, mais pas la librairie standard.
    Seront aussi exclus du moratoire les détails de l’implémentation CPython , y compris la C API.

    Ce moratoire est destiné à permettre aux développeurs d’autres implémentations comme Jython, IronPython, PyPy, de progresser sans avoir à souffrir de fréquents changements du langage et aux utilisateurs communs de ne pas devoir attendre plusieurs années avant de pouvoir passer à des versions neuves.

    http://thread.gmane.org/gmane.comp.python.ideas/6282
  • fleger
    Candidat au Club
    Le portage en Python 3000 des frameworks, librairies, outils de développement, etc. représentant un travail colossal.

    Ce qui fait la force d'un langage c'est autant ses capacités intrinsèques d'abstraction et d'efficacité que l'écosystème environnant. Lorsqu'un langage évolue significativement, il est important de laisser son écosystème se stabiliser.

    Comme le propose canonical pour les OS et applications, il n'est pas non plus idiot de planifier sur des échelles de temps de quelques années les grosses évolutions/stabilisations.
  • Gordon Fowler
    Expert éminent sénior
    Le moratoire sur le langage Python est accepté par le PEP pour une durée de 2 ans