Perl 6 sera-t-il renommé avec un nom radicalement différent pour se démarquer de Perl 5 ?
La communauté Perl divisée sur la décision à prendre après la sortie de Perl 6 qui est incompatible avec Perl 5
Perl est un langage de programmation créé par Larry Wall en 1987. Sa syntaxe s’inspire du langage C avec la possibilité d’ajouter des expressions régulières directement dans le langage. Dès le départ, il est utilisé majoritairement comme un langage de scripts d’administration système sous UNIX. Mais avec le temps, de nombreuses fonctionnalités lui sont ajoutées ce qui lui confère les atouts d’un langage généraliste. Que ce soit pour écrire des scripts shell, des applications web, des clients lourds ou encore faire communiquer des modules de gros systèmes, il est possible d’utiliser le langage Perl.
Comme avantages, les utilisateurs de Perl soulignent qu’avec ce langage, il existe plus d’une façon de faire les choses. Cela sous-entend que pour une tâche donnée, plusieurs moyens peuvent être utilisés pour atteindre son objectif. Cette manière de faire vient contraster avec la philosophie d’autres langages de programmation qui tendent à s’imposer aux développeurs, contrairement à Perl qui lui offre plusieurs choix au développeur. Certains développeurs préféreront donc écrire leur code de manière concise, d’autres choisiront l’option verbeuse et d’autres encore opteront pour le style illisible.
Bien que Perl existe depuis plus de 30 ans maintenant, ce langage est utilisé par de nombreux développeurs. Sur l’index Tiobe, il est classé 19e en ce mois d’août juste derrière Swift qui est langage récent sorti il y a maintenant 5 ans. Actuellement, la dernière version stable du langage est la version 5.30.0. Cette version majeure (Perl 5) existe depuis 1994 et est mise à jour continuellement par Larry Wall lui-même, le créateur du langage. Il est rapide, stable, doté de nombreux modules matures et préinstallé sur de nombreuses distributions Linux. Mais afin d’assurer une rétrocompatibilité avec les anciennes versions de Perl, le langage intègre de nombreuses syntaxes et modules abandonnés. De même, il comporte de nombreux cas spéciaux dont il est difficile de s’en souvenir.
Depuis quelques années, 2015 en l’occurrence, une nouvelle version de Perl est en cours de développement. Cette nouvelle version de Perl qui porte la référence « version 6 » devrait en principe être une évolution directe de la version 5. Cependant, force est de noter que les améliorations apportées dans Perl 6 marquent une rupture nette avec la version 5. Même si la philosophie de Perl 5 constitue toujours la base de la version 6, plusieurs nouvelles fonctionnalités amènent de nombreux développeurs à voir Perl 6 comme un langage radicalement différent de Perl 5.
Par exemple, en Perl 5, nous avons le code ci-dessous :
my @fruits = ("pomme", "poire", "banane"); print $fruits[0], "\n";
En Perl 6, l’on doit maintenant écrire de la manière suivante :
my @fruits = "pomme", "poire", "banane";say @fruits[0];
ou même utiliser l’opérateur <> pour remplacer la fonction qw() utilisée en Perl 5 pour générer une liste de mots.
my @fruits = <pomme poire banane>;
Comme on peut le constater, le sigil $ utilisé pour identifier les variables est maintenant remplacé par le sigil @.
Mais il n’y a pas que les sigils qui ont changé. Que ce soit les twigils, les variables spéciales, les méthodes, les listes de chaînes, les listes multidimensionnelles, les déclarations de portée, les listes, les invocations, les noms, la concaténation des chaînes de caractères, les blocs et les déclarations, les syntaxes d’expressions régulières, les sous-routines, les surcharges de fonctions, les fonctions intégrées, les arguments de ligne de commande, etc., tous ces éléments ont connu des changements avec Perl 6.
Avec l’édition de Perl 6, dont le compilateur est nommé Rakudo, la communauté Perl s’est retrouvée à la croisée des chemins comme celle de Python qui devait choisir entre Python 2 et Python 3.
Pour certaines personnes (beaucoup plus jeunes en l’occurrence), Perl est considéré comme un langage de « grand-père », à peu près de la même façon que les gens voient COBOL aujourd’hui. Ces personnes estiment que l’évocation du mot Perl renvoie une mauvaise image qui pourrait contribuer à éloigner les jeunes développeurs. Pour cette catégorie de personnes, le changement de nom de Perl 6 pourrait favoriser l’adoption du langage par de nouvelles personnes tout en améliorant la perception que le public a du langage.
Dans ce sens, Damian Conway, un membre important de la communauté Perl a proposé le nom de « Raku », contrairement au nom « Camelia » qui avait été initialement proposé par Elizabeth (Liz) Mattijsen, un membre très actif dans la communauté Perl et également développeuse de longue date de Perl 5. Pour Conway, si la communauté doit choisir un autre nom, il serait judicieux de réfléchir si le nom « Raku » proposé par Larry Wall n’est pas une alternative viable. Comme arguments de poids, Conway souligne qu’il est « nettement plus court que "Camelia" (se compose parfaitement de 4 caractères), il est légèrement plus interrogeable, a des associations agréables avec le " confort " ou " l’aisance " en se tournant vers son origine japonaise qui s'accorde même un peu à notre mascotte papillon. Cela permet également au compilateur [nommé] " Rakudo " d'être perçu comme " La voie du Raku " ».
Larry Wall, qui ne trouve aucune objection au cas où la communauté souhaiterait changer le nom Perl 6, a déclaré lors de sa participation à PerlCon 2019 que « les deux langages sœurs sont maintenant suffisamment matures pour prendre soin d’eux-mêmes. Un tel changement de nom n’exigerait plus l’approbation du Dictateur bienveillant à vie ».
Pour d’autres développeurs par contre, Perl 6, bien que différent, devrait être comme considéré comme le successeur de Perl 5. À ce titre, il devrait conserver le nom Perl 6 en continuant son évolution. Pour ces personnes, renommer Perl 6 en un autre nom risque d’entraîner la fragmentation de la communauté, ce qui ne serait en rien bénéfique à la communauté Perl. Si la communauté Python a pu survivre après avoir adopté le nom Python 3, malgré le changement radical lors du passage à Python 3, l’on peut donc croire que la communauté Perl en adoptant le nom Perl 6 survivra egalement, rappellent ces derniers.
Source : Blog Perl, Proposition de Elizabeth (Liz) Mattijsen, Proposition de Damian Conway, Perl 6
Et vous ?
Quel est votre avis sur ce débat ?
Êtes-vous pour ou contre le renommage de Perl 6 ?
Voir aussi
Utilisez-vous sous Windows Perl 5 via ActivePerl, Strawberry Perl ou les deux ?
Programmation : une étude révèle les langages les plus voraces en énergie : Perl, Python et Ruby en tête, C, Rust et C++, les langages les plus verts
Quels sont vos langages de programmation préférés pour applications mobiles en 2017 ? Et pourquoi ? Vous êtes invités à partager votre expérience
Quels sont les langages de programmation les plus utilisés par les développeurs ? Une analyse des évènements publics sur GitHub
Quels sont les langages de programmation que vous détestez le plus en 2017 ? Pourquoi ?
Pensez-vous que Python 3.x était une erreur ? 54 % de développeurs estiment qu'il fallait une étape de transition
Partager