Perl 6 : enfin un premier aperçu
Après 10 ans de développement, s'agit-il d'une nouvelle version ou d'un nouveau langage ?

Le , par Gordon Fowler, Expert éminent sénior
Perl 6 : enfin un premier aperçu
Après 10 ans de développement, mais s'agit-il d'une nouvelle version ou d'un nouveau langage ?

La plus grosse blague dans la communauté Perl tourne autour de la date de sortie de la version 6 du langage, une version majeure en développement depuis maintenant 10 ans.

Chaque année, Larry Wall, son créateur, s'engage à sortir Perl 6 avant Noël, en prenant bien soin de ne pas préciser du Noël de quelle année il parle.

Mais cette fois-ci, les choses semblent (enfin ?) différentes. Lors de la O'Reilly Open Source Conference (OSCON), Larry Wall a en effet laissé entendre que Perl 6 était quasiment opérationnel. Comprendre : boggué et très lent, mais en tout cas capable de fonctionner.

Baptisée Raduko Star, cette pré-pré-version – pourrait-on dire – devait arriver fin juillet. Noël en été en quelque sorte.

Et devinez quoi ?

Raduko Star est sorti !

Mais ne vous y trompez pas, s'il possède effectivement la majorité des fonctions de Perl 6 (introspection, jonctions, object modeling, ou auto-threading), il lui en manque aussi quelques unes (binary objects, etc.). Son équipe de développement précise d'ailleurs que «nous ne considérons pas Rakudo Star comme un "Perl 6.0.0" ou une version "1.0" ».

Autre grosse question : peut-on vraiment considérer Perl 6 comme une évolution de Perl 5 (avec lequel il n'est par ailleurs pas rétro-compatible) ? Ou s'agit-il finalement d'un nouveau langage à part entière ?

Même son créateur hésite.

Certes, sur le site officiel, Perl 6 est qualifié « de nouveau langage ». Site officiel qui explique que « Perl 5 et 6 sont deux langages de la famille Perl, mais de lignages différents ».

Pourtant Larry Wall n'est pas aussi tranché. Lors de sa présentation, il considère même que c'est aux développeurs de décider.

A vous donc.

Télécharger Raduko Star sur cette page

NB : au cas où l'image vous aurait échappé, voici Camelia, la nouvelle « mascotte » de Perl 6, dévoilée par Larry Wall :



Ce papillon multicolore est censé rappeler aux développeurs que la créativité et l'amusement ont également leur place dans le monde professionnel.

Après, les goûts et les couleurs pour faire passer un message...

Source : Annonce de Raduko Star, Site officiel de Perl 6

Lire aussi :

Perl est-il encore un langage populaire ? Face au dynamisme des communautés PHP, Python et Ruby

Sortie de Perl 5.12, tandis que le développement de Perl 6 se poursuit

Connaissez-vous les huits opérateurs Perl secrets ? Si ce n'est pas le cas, découvrez-les ici

Et vous ?

Perl 6 a-t-il une chance de s'imposer alors qu'il n'est pas rétro-compatible avec Perl 5 ? Ou a-t-il mis trop de temps à sortir ?

D'ailleurs d'après vous : nouvelle version ou nouveau langage ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de bioinfornatics bioinfornatics - Membre confirmé https://www.developpez.com
le 06/08/2010 à 12:12
C'est un langage a part entière tellement les changements sont grand. Il faut dire que si perl 6 a mis autant de temps c'est qu'ils ont travaillé sur 2 projets.
Le langage et son lot de nouveauté et la machine virtuelle. Cette machine virtuelle serait capable de faire tourner du java du python du perl du ruby ... et ça ce n'est pas rien non plus
J'attends la version stable de perl 6 pour voir si les performances sont au rendez-vous.
Avatar de SYL666 SYL666 - Membre averti https://www.developpez.com
le 06/08/2010 à 20:52
Le truc que je ne comprends pas, c'est comment vont se débrouiller les distributions Linux pour apporter Perl6 ?

2 solutions :
-> transcrire tout le code existant perl5 en perl6 ... ce qui est à peu près suicidaire

-> Faire cohabiter les interpreteurs. Cela me semble plus réaliste, mais ça risque d'être un peu lourd sur le long terme. Ou alors dans ce cas transcrire petit à petit le code.

Dans tout les cas, je pense que si Perl6 n'arrive pas à pointer du nez dans les distrib Linux, je doute que le language va réellement prendre.
Avatar de Camille_B Camille_B - Membre confirmé https://www.developpez.com
le 07/08/2010 à 16:26
-> Faire cohabiter les interpreteurs. Cela me semble plus réaliste, mais ça risque d'être un peu lourd sur le long terme. Ou alors dans ce cas transcrire petit à petit le code.


Pas plus lourd qu'avoir un interpréteur Perl 5 et interpréteur Python, Ruby etc.
Avatar de eyquem eyquem - Membre extrêmement actif https://www.developpez.com
le 07/08/2010 à 18:28
La plus grosse blague dans la communauté Perl tourne autour de la date de sortie de la version 6 du langage, une version majeure en développement depuis maintenant 10 ans.
Chaque année, Larry Wall, son créateur, s'engage à sortir Perl 6 avant Noël, en prenant bien soin de ne pas préciser du Noël de quelle année il parle.

C’est une blague d’une grande originalité.

boggué et très lent, mais en tout cas capable de fonctionner.

Ah ben dis donc, 10 ans pour accoucher de ça.

C’est inquiétant car ça donne à penser que les développeurs ne voient pas l’éventualité de parvenir à une version débuggée et rapide dans un délai court. Si c’était le cas, ils auraient pu choisir de retarder encore un peu pour avoir une meilleure version. Ils doivent sortir celle-ci pour bénéficier des corrections de bugs par la communauté, certes, mais sortir une version sous la pression des années qui s’accumulent montre quand même que l’évolution de ce langage est laborieuse.

une évolution de Perl 5 (avec lequel il n'est par ailleurs pas rétro-compatible) ?

La non-rétro-compatibilité n’est pas un problème en soi quand c’est une réponse à des problèmes aigus qui ne pourraient pas être autrement résolus.
C’est simplement que vue l’inertie qui existe dans le domaines de l’adoption de nouveaux langages en informatique, une nouvelle version non rétro-compatible d’un langage a intérêt à présenter de sérieux, notables et indispensables avantages par rapport à la version précédente si elle veut avoir une chance d’être adoptée. Et ça, l’annonce ne permet pas de le penser pour le moment.

Il faut espérer que le manque du coté du langage est corrélatif d’une meilleure qualité de la machine virtuelle, à propos de laquelle bioinformatics nous dit que son développement a été mené conjointement à celui de Perl 6.

Baptisée Raduko Star,

le Raduko de la Méduse ?
Avatar de Maddingue Maddingue - Membre confirmé https://www.developpez.com
le 21/12/2010 à 18:35
Désolé de répondre à des messages un peu anciens, mais comme je pense pouvoir apporter quelques lumières à vos questions, je vais me le permettre.

Citation Envoyé par bioinfornatics  Voir le message
C'est un langage a part entière tellement les changements sont grand. Il faut dire que si perl 6 a mis autant de temps c'est qu'ils ont travaillé sur 2 projets.

"ils" n'ont pas travaillé sur deux projets. Il y a deux équipes, en fait deux communautés, qui sont assez différentes. Perl5 est toujours maintenus par les mêmes Perl5 Porters, tandis que Perl6, Parrot, Rakudo et tout l'écosystème associé sont développés par des gens qui, pour une bonne partie, n'avaient jamais fait de Perl.

Citation Envoyé par bioinfornatics  Voir le message
Le langage et son lot de nouveauté et la machine virtuelle. Cette machine virtuelle serait capable de faire tourner du java du python du perl du ruby ... et ça ce n'est pas rien non plus
J'attends la version stable de perl 6 pour voir si les performances sont au rendez-vous.

La machine virtuelle Parrot est capable de faire tourner ces langages. Le problème est surtout d'écrire les compilateurs correspondants. Des premières versions avaient été écrites pour les anciennes versions de Parrot, mais avec la forte évolution de cette dernière, je crois que plusieurs ne sont plus fonctionnels. De nouveaux projets ont par contre été démarrés suite à la sortie de Parrot 1.0.
Avatar de Maddingue Maddingue - Membre confirmé https://www.developpez.com
le 21/12/2010 à 18:46
Citation Envoyé par SYL666  Voir le message
Le truc que je ne comprends pas, c'est comment vont se débrouiller les distributions Linux pour apporter Perl6 ?

2 solutions :
-> transcrire tout le code existant perl5 en perl6 ... ce qui est à peu près suicidaire

C'est possible. Larry Wall a déjà apporté des modifications à l'interpréteur Perl5 qui permettent de transformer le code source pour par exemple générer du code Perl6 (voir l'option MAD, par défaut non compilée dans les interpréteurs). Mais cela reste coûteux et hasardeux.

Citation Envoyé par SYL666  Voir le message
-> Faire cohabiter les interpreteurs. Cela me semble plus réaliste, mais ça risque d'être un peu lourd sur le long terme. Ou alors dans ce cas transcrire petit à petit le code.

C'est ce qui est prévu dans la plupart des distributions : un binaire "perl" qui pointe vers le binaire perl5.xx et un binaire "perl6".

Citation Envoyé par SYL666  Voir le message
Dans tout les cas, je pense que si Perl6 n'arrive pas à pointer du nez dans les distrib Linux, je doute que le language va réellement prendre.

Sauf que Perl5 fonctionne très bien, et qu'il n'y a pas d'urgence.

Et pour information, les mainteneurs de distributions ont malheureusement l'habitude de gérer des mises à jour qui sont censées être transparentes mais qui ne le sont pas (PHP, le langage qui fait hurler les sysadmins..), ou les migrations Ruby 1.x->2.0 ou Python 2.x->3.x).
Avatar de Maddingue Maddingue - Membre confirmé https://www.developpez.com
le 21/12/2010 à 19:13
Citation Envoyé par eyquem  Voir le message
Ah ben dis donc, 10 ans pour accoucher de ça.

C’est inquiétant car ça donne à penser que les développeurs ne voient pas l’éventualité de parvenir à une version débuggée et rapide dans un délai court. Si c’était le cas, ils auraient pu choisir de retarder encore un peu pour avoir une meilleure version. Ils doivent sortir celle-ci pour bénéficier des corrections de bugs par la communauté, certes, mais sortir une version sous la pression des années qui s’accumulent montre quand même que l’évolution de ce langage est laborieuse.

Tout dépend comment on regarde les choses.
Perl 1.0.0 étant apparu en 1987, on peut considérer qu'il a fallu 8 ans pour arriver à Perl 5.0.0 (1995), et que ce langage et utilisé et évolue constamment depuis 15 ans. À moins qu'un malin génie ne vienne soudainement faire disparaitre le code Perl5 actuellement en production, celui-ci est là pour facilement encore 10-15 ans.

(Si vous pensez que je délire, souvenez-vous que COBOL, un langage né avant bien des membres de ce forum, est toujours en production au coeur de certains des systèmes les plus importants de notre monde, comme les banques, et qu'il ne semble pas être amené a être plus remplacé demain que Perl ou PHP.)

En réalité, dans le cas de Perl 6, le développement n'a véritablement décollé qu'en 2005. Donc, certes, le projet date de 10 ans, mais le développement seulement de 5. Durant ces années, de nombreuses expérimentations ont été menées, pour voir quelles étaient les bonnes idées, celles à rejeter, celles à améliorer, etc. Ce n'est pas inutile de passer un peu (voire beaucoup) de temps pour préparer un langage capable de durer sur les 20 ou 30 prochaines années.

Entre temps, Perl 5 s'est nourri des idées de Perl 6 pour donner des nouveaux concepts comme le protocole méta-objet Moose, une syntaxe déclarative (MooseX-Declare), et quantité d'autres idées. Python n'est pas le seul langage à importer du futur

Citation Envoyé par eyquem  Voir le message
La non-rétro-compatibilité n’est pas un problème en soi quand c’est une réponse à des problèmes aigus qui ne pourraient pas être autrement résolus.
C’est simplement que vue l’inertie qui existe dans le domaines de l’adoption de nouveaux langages en informatique, une nouvelle version non rétro-compatible d’un langage a intérêt à présenter de sérieux, notables et indispensables avantages par rapport à la version précédente si elle veut avoir une chance d’être adoptée. Et ça, l’annonce ne permet pas de le penser pour le moment.

La rétro-compatibilité est un problème. Et pas un simple.
C'est bien pour cette raison que les devs de Python ont profité du passage à la version 3.0 pour virer des choses qui les gênaient.

Encore une fois, Perl 6 est véritablement un nouveau langage. Pendant ce temps, Perl 5 est parfaitement fonctionnel en production, et continue d'évoluer.
Avatar de thierry.chich thierry.chich - Membre éclairé https://www.developpez.com
le 23/12/2010 à 12:06
Citation Envoyé par Maddingue  Voir le message
Encore une fois, Perl 6 est véritablement un nouveau langage. Pendant ce temps, Perl 5 est parfaitement fonctionnel en production, et continue d'évoluer.

Bien d'accord, mais ce qui m'ennuie, moi, c'est que perl5 stagne parce qu'il n'y a pas l'adoption systématique d'un modèle objet moderne. Moose serait bien, au moins dans sa version lite (Mouse ou Coat). Perl redeviendrait attractif avec un vrai modèle objet standard de ce type.
Pour ce qui est de perl6, il y a longtemps que je n'essaie plus vraiment de me faire une opinion. La plus part des annonces me laisse perplexe. Il s'agit vraiment d'un nouveau langage, et donc il faudra attendre qu'il présente une killer feature... Je regrette simplement qu'il ait à ce point obscurcit l'horizon de Perl5.
Avatar de Mr6 Mr6 - Membre éclairé https://www.developpez.com
le 24/12/2010 à 14:18
Citation Envoyé par Maddingue  Voir le message
(Si vous pensez que je délire, souvenez-vous que COBOL, un langage né avant bien des membres de ce forum, est toujours en production au coeur de certains des systèmes les plus importants de notre monde, comme les banques, et qu'il ne semble pas être amené a être plus remplacé demain que Perl ou PHP.)

Histoire de pousser le propos encore un peu plus loin, l'évolution des mainframes est en train d'ouvrir une porte à Perl pour le mettre à sa place idéale, le batch dans les prods.

@+
Mr6
Avatar de SYL666 SYL666 - Membre averti https://www.developpez.com
le 26/12/2010 à 21:37
... Il semble que cela bouge du coté Perl6, ces semaines ci. Ce topic redevenu actif, interview, articles, etc.

Si vous avez 1h20 avec vous, je vous conseille vivement Floss Weekly, épisode 140.

On y comprend mieux pourquoi ça prend temps de temps....

Et effectivement, il semble que perl6 ne se pose pas du tout en remplaçant de perl5. ... c'est juste un autre langage, il cohabiteront et nous verrons se que souhaite les programmeurs (comme dit dans le podcast "C++ n'est pas la pour remplacer C")

==> http://twit.tv/floss140
Offres d'emploi IT
Expert SCCM
Hays - Ile de France - Puteaux (92800)
Consultant seo H/F
altima - Nord Pas-de-Calais - Roubaix (59100)
Ingénieur concepteur développeur java j2e H/F
Atos - Bretagne - Rennes (35000)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil