« Je suis en faveur de ce changement parce qu’il est en phase avec une ancienne sagesse », a-t-il dit avant de citer une parabole tirée de la bible :
« Personne ne coud un morceau de drap neuf à un vieil habit ; autrement la pièce neuve emporte une partie du vieil habit et la déchirure en devient plus mauvaise. On ne met pas non plus du vin nouveau dans de vieilles outres ; autrement les outres se rompent et le vin se répand et les outres sont perdues ; mais on met le vin nouveau dans des outres neuves et tous les deux se conservent. »
Wall met ainsi fin à un débat qui occupait la communauté des développeurs Perl depuis quelques mois. En effet, en août dernier, Elizabeth Mattijsen, développeur de logiciels néerlandais, a ouvert un ticket sur le dépôt GitHub de Perl 6 pour requérir un renommage du langage de programmation. L’un des motifs avancés : le nom Perl ne favorise pas l’adoption du langage par les jeunes développeurs. Deuxio : dans son implémentation, Perl 6 crée la rupture avec son prédécesseur – Perl 5 – ce qui le positionne comme un langage de programmation différent.
Par exemple, le sigil $ utilisé en Perl 5 pour l’identification des variables laisse sa place à @ dans la version 6 du langage.
Code Perl 5 : | Sélectionner tout |
my @fruits = ("pomme", "poire", "banane"); print $fruits[0], "\n";
Code Perl 6 : | Sélectionner tout |
1 2 | my @fruits = "pomme", "poire", "banane";say @fruits[0]; |
En Perl 6, l’on peut aussi faire usage de l’opérateur <> pour remplacer la fonction qw() utilisée en Perl 5 pour générer une liste de mots.
Code Perl 6 : | Sélectionner tout |
my @fruits = <pomme poire banane>;
En Perl 6, 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. ont connu des changements par rapport à ce qui se faisait sous Perl 5.
Raku (inspiré de Rakudo – le nom du compilateur du langage) se retrouve en pôle position devant bon nombre d’autres qui ont fait l’objet de propositions : Camilia, Wall, ofun, hiro, juro, kiln, mayu, pumpking, rafu, rapt, raptor, etc. Avec la très probable adoption de ce nom, Perl 6 va devenir Raku. L’on fera donc référence à Perl 5 (qui existe depuis 1994) par le nom Perl. Ainsi, dire « je programme en Perl » aura le sous-entendu que l’on entrevoit de façon claire.
La situation dans la communauté Perl n’est pas sans faire penser à celle qu’a connue la communauté Python lors du passage de la version 2 à la version 3 du langage. Malgré le changement radical introduit par Python 3 incompatible avec les versions précédentes, cette dernière n’avait pas opéré de changement de nom. D’après des contributeurs de la communauté Perl, c’est la même voie qu’il aurait fallu emprunter pour ne pas introduire de fragmentation.
Source : GitHub
Et vous ?
Que pensez-vous des développements en cours ?
La fragmentation de la communauté Perl n’est-elle pas consommée dans tous les cas de figure ?
Êtes-vous développeur Perl ? Si oui, quels sont les changements introduits avec la version 6 qui sont de nature à vous amener à migrer vers cette dernière ?
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