Vous avez sans doute davantage entendu parlé de Java ou de Python que de Jython ?
Pour ceux qui n’en auraient jamais entendu parler, Jython est une implémentation de Python qui s’intègre à la JVM.
Initialement JPython, Jython arrive désormais à une nouvelle version mature et stable, et ne demande qu’à être utilisé
Jython permet de
- compiler dynamiquement du python en bytecode Java
- hériter des classes Java en Jython
- compiler statiquement (création d’applets, servlets, beans…)
- utiliser la syntaxe et les modules python dans les programmes Java
- avoir un interpréteur python manipulant des objets Java
- Jython est certifié 100% Pure Java et profite donc de la portabilité via la JVM
Après Groovy, JRuby, et j’en oublie certainement, voici donc Jython qui frappe à la porte.
Pour ceux qui voudraient avoir une idée du futur, voici la roadmap : http://www.jython.org/Project/roadmap.html
Certains d’entre vous se sont déjà laissé tenter ?
Cela dépend des entreprises Sur les 4 dernières entrepries où j’ai bossé, Python était très répandu dans 3. Et puis un langage comme Python ou Groovy, ça s’apprend en 2 ou 3 jours pour un développeur Java.
perso, mon probleme avec ces deux langages, c’est que grosso modo, en entreprise, personne ne les connait. En général, en langage de script intégré, je mise sur javascript (Rinoscript) qui en plus est directement integré a la plate forme depuis java6.
Groovy et Python sont, pour moi, très semblables dans les fonctionnalités et dans la philosophie. Grooy est toutefois plus attrayant pour les développeurs Java car moins différent et surtout car il s’intègre beaucoup mieux aux API standard de Java. Python dispose de sa propre manière de faire beaucoup de choses, forcément, et cela nécessite un apprentissage assez lourd pour bien maîtriser son API. Et puis les API de Python suivent beaucoup la philosophie C (par exemple les I/O sur les fichiers sont directement inspirées des API C). Aujourd’hui, j’utiliserais Groovy au sein d’un programme Java mais Python me sert toujours en « stand alone » comme d’un excellent langage de scripting disponible sur tous les systèmes que j’utilise.
Je ne peux que corriger quelque peu la formulation de départ pour parler de nouvelle version mature
Tiens d’ailleurs Romain, toi qui a fait connaissance avec Groovy récemment, comment comparerais tu ces 2 langages ?
J’ai écrit un programme assez large (Jext, http://www.jext.org) il y a plusieurs années en utilisant Jython. Pas mal de bouts du logiciel sont écrits en Python (en fait, chaque fois que l’utilisateur clique sur un menu item, c’est du Python qui est exécuté). Jython 2.1 était déjà très stable et suffisamment rapide. Un excellent outil
Et quelles sont ces dernières avancées ? (pour les non familiers du Python dont je fais partie ;-))
Jython est bien plus ancien que JRuby, non mais
Le seul point négatif est qu’il ne bénéficie pas des dernières avancées du langage lui-même.