Annoncé Perl 7

Lors de la conférence virtuelle des développeurs du langage Perl qui se tient aujourd'hui annoncé le projet Perl 7, qui continuera en douceur le développement de Perl 5 sans apporter de changements radicaux. Perl 7 sera similaire à la version Perl 5.32.0, à l'exception de différents réglages par défaut, mieux adaptés aux pratiques modernes de développement. En dehors de cela, Perl 7 restera le même Perl 5 et conservera la compatibilité avec les applications précédemment développées.

Un changement significatif de numéro de version servira de point de séparation pour passer à un nouveau modèle d'ajout de fonctionnalités au langage Perl sans perturber sensiblement la compatibilité ascendante.
On s'attend à ce que la création de Perl 7 aide à attirer de nouveaux développeurs vers Perl et à faciliter l'ajout de nouvelles fonctionnalités significatives au langage, tout en maintenant la compatibilité avec la base de code des projets existants. Le numéro 7 a été choisi car Perl 6 a été utilisé lors du développement du langage, qui maintenant évolue sous un nom distinct, Raku. La première version de Perl 7 est attendue pour l'année prochaine. La branche Perl 5.32 sera la dernière de la série Perl 5 et elle sera maintenue pendant 5 à 10 ans.

Le changement le plus notable dans Perl 7 sera l'inclusion par défaut du mode «strict», impliquant un contrôle strict de la déclaration des variables, de l'utilisation des pointeurs symboliques et de l'affectation des sous-programmes. L'utilisation de «use strict» est une bonne pratique et est adoptée par la majorité des développeurs. De même, on prévoit l'inclusion par défaut du traitement des avertissements («use warnings«).

Dans Perl 7, on prévoit également de stabiliser et d'inclure par défaut certaines fonctionnalités expérimentales déjà existantes, telles que les signatures de fonctions («use feature ‘signatures'»), permettant lors de la définition d'une fonction de spécifier les arguments entrants et d’automatiser la vérification de leur nombre (il sera possible d'écrire «sub foo ($left, $right) {» au lieu de «sub foo { my($left, $right) = @_;»). On prévoit également d'inclure par défaut le support de l'opérateur «isa» pour vérifier si un objet est une instance de la classe spécifiée ou d'une classe dérivée («if( $obj isa Package::Name )», ainsi que des opérations de désindirection postfixe (postderef) «$sref->$*» au lieu de «${ $sref }», «$aref->@*» au lieu de «@{ $aref }» et «$href->%{ … }» au lieu de «%$href{ … }».

Les candidats à la désactivation par défaut dans Perl 7 sont :

  • Notation d'appel indirect d'objets («no feature qw(indirect)«) — une méthode obsolète d'appeler des objets, où un espace est utilisé à la place de «->» («method $object @param» au lieu de «$object->$method(@param)»). Par exemple, au lieu de «my $cgi = new CGI», il faudra toujours utiliser «my $cgi = CGI->new».
  • Descripteurs de fichiers nus sans déclaration de variables («no bareword::filehandle«) — l'utilisation de constructions telles que «open FH, $file» entraînera une erreur, il faudra utiliser «open my $fh, $file». Ce changement ne touchera pas les descripteurs de fichiers standards STDIN, STDOUT, STDERR, ARGV, ARGVOUT et DATA.
  • Tableaux et hachages multidimensionnels fictifs de style Perl 4 («no multidimensional«).
    Par exemple, spécifier «$hash{1, 2}» entraînera une erreur, il faudra utiliser un tableau intermédiaire, par exemple «$hash{join($;, 1, 2)}».
  • Déclaration de prototypes à la manière de Perl 4 (il faut utiliser «use :prototype()»).

Dans des plans plus lointains par défaut, on envisage d'inclure le support Unicode, ce qui libérera les développeurs de spécifier «use utf8» dans leur code. Pour les modules et scripts qui rencontreront des problèmes avec les nouveaux paramètres par défaut, il sera possible de revenir au comportement de Perl 5 en ajoutant dans le code la ligne «use compat::perl5». Certains paramètres seront également conservés et pourront être modifiés individuellement.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster