Developpez.com - Rubrique Perl

Le Club des Développeurs et IT Pro

Perl 7 doit-il être rétrocompatible ? Ricardo Signes, membre du conseil d'administration de la fondation, pense que oui

Et dit être favorable à des ruptures sélectives pour son amélioration

Le 2020-08-18 13:58:17, par Bill Fassinou, Chroniqueur Actualités
La fondation Perl a annoncé l’arrivée prochaine de Perl 7 à la fin du mois de juin passé. Perl 7 est présenté comme une grande révolution pour ce langage interprété créé en 1987 par Larry Wall pour traiter l’information de type textuel. Cependant, l’une des questions ayant empêché l’évolution en bonne et due forme de Perl depuis toujours fait à nouveau surface, sa rétrocompatibilité. Perl 7 doit-il être aussi rétrocompatible ? Cette fois, le sujet divise plusieurs personnes de la communauté du langage et beaucoup d’entre eux veulent en finir avec les vieilles habitudes et aller de l’avant.

Perl est un langage de programmation permettant de facilement traiter les informations de type textuel. C'est un langage interprété qui s'inspire des structures de contrôle et d'impression du langage C, mais aussi de langages de scripts, dont sed, awk et Shell. La prochaine version du langage arrive bientôt avec une nouvelle vision. Selon ses développeurs, Perl  7 (Perl 5.32) ne sera pas une révolution en matière de fonctionnalités, mais une phase de modernisation pour activer plus de fonctionnalités par défaut, qui étaient jusque là activables à la demande.

L’un des plus grands souhaits de Perl 7 est de changer de paradigme de développement. Cela permettrait de faire avancer le langage plutôt que de systématiquement privilégier la compatibilité descendante. Cela dit, les membres de la communauté du langage peinent à trouver un accord. Dans un article détaillé sur la liste de diffusion “Perl porters” intitulé “To Break or Not To Break”, Ricardo Signes, membre du conseil d'administration de la fondation, a tenté de résumer l'état actuel de la communauté. Son résumé tourne autour de trois points essentiels.


Tout d’abord, il estime que la préoccupation principale est de savoir précisément si Perl 5 “était trop contraint par la rétrocompatibilité pour croître de manière significative en matière d'utilité ou de taux d'utilisation”. Pour cela, il estime qu’il est possible de rejeter la prémisse dans un premier temps. « Il y a beaucoup de place pour continuer à avancer sans casser les changements, si nous arrêtions d'essayer de changer les règles et si nous allions de l'avant », a-t-il déclaré dans son billet. La possibilité suivante consiste à accepter la prémisse.

Accepter la prémisse, mais ensuite “laisser Perl poursuivre son cours actuel, en devenant de plus en plus stable, car il est utilisé par un public de plus en plus réduit, jusqu'à ce qu'il ait la place qui lui revient dans le Hall des morts honorés”. Enfin, la troisième possibilité qu’il a évoquée consiste à “déterminer quelles sont les contraintes qui peuvent, comme les chaines, être supprimées pour que la communauté puisse aller de l'avant”. Si Signes considère que ces trois points sont méritoires, le principal espoir du plan Perl 7 est le choix n°3.

« Il existe peut-être des types de rétrocompatibilité qui peuvent être éliminés sans perturber la grande majorité des utilisateurs de Perl, tout en rendant le langage plus facile à utiliser et, plus important encore, facile à *continuer* à améliorer. Et plus précisément, nous ne recrutons pas de nouveaux développeurs pour un tas de raisons, mais l'une d'entre elles est que c'est trop de travail pour faire quoi que ce soit. Je suis donc favorable à des ruptures sélectives pour améliorer Perl et rendre l'implémentation plus pratique. Je pense que c'est le but du plan Perl 7, et la grande question est de savoir ce que sont ces ruptures sélectives », a-t-il déclaré.

Outre cela, Signes a ajouté que l’exécution de ce plan doit commencer par la création d'un document pour formaliser le modèle de gouvernance du comité de pilotage de Perl, comme un moyen de préformer un consensus précoce et d'affiner les idées avant qu'elles ne soient ensuite soumises à une discussion générale sur la liste de diffusion, avec un chef de projet donnant l'approbation finale aux décisions de la communauté élargie. Cela sera suivi par la production d'un ensemble clair de changements prévus. « En attendant, j'espère juste une petite période de calme et de bonne foi », a-t-il conclu.

Source : Ricardo Signes

Et vous ?

Quel est votre avis sur le sujet ?
Êtes-vous pour ou contre la rétrocompatibilité de Perl 7 ? Pourquoi ?

Voir aussi

Perl est-il un langage de programmation mourant ? Le langage pourrait s'éteindre d'ici 2023 selon une étude

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 rompt avec Perl 5

Perl 7 est annoncé comme Perl 5.32, mais avec des valeurs par défaut différentes, plus sûres et plus modernes, selon l'équipe de Perl
  Discussion forum
2 commentaires
  • esperanto
    Membre émérite
    C'est pourtant simple, ils viennent de créer une version 7 et d'annoncer que la 5 serait encore maintenue pendant dix ans.
    Donc la logique ce serait de supprimer les vieux trucs dans la version 7 mais pas dans la 5. Ensuite l'avenir dira si la rétrocompatibilité était si importante que ça: on verra bien si la 7 non-rétrocompatible remplace peu à peu la 5 ou si elle finit comme la 6 alias Raku...
  • Model_T101
    Membre du Club
    Perl => Raku