> Jython et IronPython implémentent un peu comme ça leur chante quitte à briser la compatibilité
Et ca ne te pose pas un problème?
J'avais testé Jython et IronPython il y quelques temps, alors :
- C'est désuet : Jython 2.2 implémente Python 2.2 alors que la dernière version stable est Python 2.6 (et on parle même pas de Python 3.0...) => Jython 2.5 est en développement, Sun semble pousser le projet, chouette !
- Ça m'intéresse pas : Jython nécessite la JVM et IronPython le truc .NET ou Mono, je préfère CPython qui me semble plus léger (et portable?)
- IronPython est bogué et incompatible avec CPython : j'ai rapporté plusieurs bugs mais je n'ai pas obtenu de réponses... j'ai pas envie de toucher à du code .NET. Je me souviens que Microsoft avait déjà écrit des implémentations incompatibles de JavaScript, puis HTML, puis XSLT, etc. Bref, c'est sans espoir et c'est tant pis pour eux :-p
Note : PyPy est un bordel expérimental qui ne semble intéresser personne et n'est pas aussi performant qu'ils auraient voulus. Perso, j'ai abandonné PyPy car je ne comprend rien au code, je ne peux pas contribuer.
Par contre, les incompatibilités C/C++, avec plusieurs fournisseurs de compilateur, ça te pose un problème?
Je considère Jython et IronPython comme très minoritaires (à vrai dire, je ne connais personne qui l'utilise !?). Tant dis que CPython est installé de base sous Linux et Mac OS X, de plus en plus présent sous Windows, et commencer à rentrer dans nos téléphones mobiles. Pourquoi faudrait-il avoir plusieurs implémentations majeures si l'implémentation de référence convient à tout le monde ? Bon, je crois qu'en même qu'à terme Jython, IronPython et PyPy vont tendre vers une compatibilité maximale (ils ont tout intérêt pour pouvoir exécuter le code existant...).
"l'entreprise" a montré qu'elle ne se souciait pas du vieux code (incompatibilité v2 --> v3)
Mais d'où sort cette idée que Python3 signe l'arrêt de mort de Python2 ? Python2 continue d'être développé, pour preuve 2.6.1 est sorti récemment. D'ailleurs, 2.7 est prévu et trunk est encore la branche 2.x (la branche 3.x, py3k, est à part !).
D'ailleurs, tu te trompes doublement car il existe un programme de conversion (2to3) qui permet de migrer du code Python2 sans aucun effort ;-) De par mon expérimente, pour un projet pur Python de 25.000 lignes, il m'a fallu une après-midi pour faire la conversion. Mais mon projet reste du Python2, j'ai juste écrit des scripts pour le convertir en Python3 pour les gens qui veulent essayer.
[^] # Re: La seule expérience Python de ma vie
Posté par Victor STINNER (site web personnel) . En réponse au journal Python, langage de l'année pour la seconde année consécutive. Évalué à 3.
Et ca ne te pose pas un problème?
J'avais testé Jython et IronPython il y quelques temps, alors :
- C'est désuet : Jython 2.2 implémente Python 2.2 alors que la dernière version stable est Python 2.6 (et on parle même pas de Python 3.0...) => Jython 2.5 est en développement, Sun semble pousser le projet, chouette !
- Ça m'intéresse pas : Jython nécessite la JVM et IronPython le truc .NET ou Mono, je préfère CPython qui me semble plus léger (et portable?)
- IronPython est bogué et incompatible avec CPython : j'ai rapporté plusieurs bugs mais je n'ai pas obtenu de réponses... j'ai pas envie de toucher à du code .NET. Je me souviens que Microsoft avait déjà écrit des implémentations incompatibles de JavaScript, puis HTML, puis XSLT, etc. Bref, c'est sans espoir et c'est tant pis pour eux :-p
Note : PyPy est un bordel expérimental qui ne semble intéresser personne et n'est pas aussi performant qu'ils auraient voulus. Perso, j'ai abandonné PyPy car je ne comprend rien au code, je ne peux pas contribuer.
Par contre, les incompatibilités C/C++, avec plusieurs fournisseurs de compilateur, ça te pose un problème?
Je considère Jython et IronPython comme très minoritaires (à vrai dire, je ne connais personne qui l'utilise !?). Tant dis que CPython est installé de base sous Linux et Mac OS X, de plus en plus présent sous Windows, et commencer à rentrer dans nos téléphones mobiles. Pourquoi faudrait-il avoir plusieurs implémentations majeures si l'implémentation de référence convient à tout le monde ? Bon, je crois qu'en même qu'à terme Jython, IronPython et PyPy vont tendre vers une compatibilité maximale (ils ont tout intérêt pour pouvoir exécuter le code existant...).
"l'entreprise" a montré qu'elle ne se souciait pas du vieux code (incompatibilité v2 --> v3)
Mais d'où sort cette idée que Python3 signe l'arrêt de mort de Python2 ? Python2 continue d'être développé, pour preuve 2.6.1 est sorti récemment. D'ailleurs, 2.7 est prévu et trunk est encore la branche 2.x (la branche 3.x, py3k, est à part !).
D'ailleurs, tu te trompes doublement car il existe un programme de conversion (2to3) qui permet de migrer du code Python2 sans aucun effort ;-) De par mon expérimente, pour un projet pur Python de 25.000 lignes, il m'a fallu une après-midi pour faire la conversion. Mais mon projet reste du Python2, j'ai juste écrit des scripts pour le convertir en Python3 pour les gens qui veulent essayer.