Perl 7 wurde angekĂŒndigt

Auf der heute stattfindenden virtuellen Entwicklermesse fĂŒr die Programmiersprache Perl wurde das Projekt Perl 7 angekĂŒndigt, das die Entwicklung der Perl 5-Version ohne radikale Änderungen nahtlos fortsetzen wird. Perl 7 wird Ă€hnlich dem Release sein Perl 5.32.0, mit Ausnahme anderer Standardeinstellungen, die besser zu modernen Entwicklungspraktiken passen. Ansonsten bleibt Perl 7 dasselbe wie Perl 5 und bewahrt die KompatibilitĂ€t mit zuvor entwickelten Anwendungen.

Eine bedeutende Versionsnummer wird als eine Art Trennlinie fĂŒr den Übergang zu einem neuen Modell der Funktionsentwicklung der Programmiersprache Perl ohne merkliche Verletzung der RĂŒckwĂ€rtskompatibilitĂ€t fungieren.
Es wird erwartet, dass die Entwicklung von Perl 7 dazu beitragen wird, neue Entwickler fĂŒr Perl zu gewinnen und den Prozess der Integration bedeutender neuer Funktionen in die Sprache zu erleichtern, wĂ€hrend die KompatibilitĂ€t mit der Codebasis bestehender Projekte erhalten bleibt. Die Nummer 7 wurde gewĂ€hlt, da Perl 6 fĂŒr die Entwicklung der Sprache verwendet wurde, die jetzt entwickelt sich unter dem eigenen Namen Raku bekannt ist. Die erste Veröffentlichung von Perl 7 wird fĂŒr das nĂ€chste Jahr erwartet. Die Version Perl 5.32 wird die letzte in der Perl 5-Serie sein und fĂŒr 5 bis 10 Jahre unterstĂŒtzt werden.

Die auffĂ€lligste Änderung in Perl 7 wird die standardmĂ€ĂŸige Aktivierung des Modus „strict“ sein, der eine strenge ÜberprĂŒfung der Variablendefinitionen, der Verwendung von symbolischen Zeigern und der Zuweisung von Unterprogrammen impliziert. Die Verwendung von „use strict“ wird als gute Praxis angesehen und von den meisten Entwicklern angewendet. Ebenso plant man, standardmĂ€ĂŸig die Behandlung von Warnungen zu aktivieren „use warnings«).

In Perl 7 wird außerdem erwartet, dass bereits bestehende experimentelle Funktionen stabilisiert und standardmĂ€ĂŸig aktiviert werden, wie Funktionssignaturen („use feature 'signatures'“), die es bei der Definition einer Funktion ermöglichen, die Eingabeargumente zu definieren und deren Anzahl automatisch zu ĂŒberprĂŒfen (man kann schreiben „sub foo ($left, $right) {“ anstelle von „sub foo { my($left, $right) = @_;“). Auch die UnterstĂŒtzung des „isa“-Operators zur ÜberprĂŒfung, ob ein Objekt eine Instanz der angegebenen Klasse oder einer davon abgeleiteten Klasse ist, soll standardmĂ€ĂŸig aktiviert werden („if( $obj isa Package::Name )“), sowie Post-Dereferenzierungsoperationen „$sref->$*“ anstelle von „${ $sref }“, „$aref->@*“ anstelle von „@{ $aref }“ und „$href->%{ 
 }“ anstelle von „%$href{ 
 }“.

Zu den Kandidaten fĂŒr die standardmĂ€ĂŸige Deaktivierung in Perl 7 gehören:

  • Indirekte Notation fĂŒr den Aufruf von Objekten („kein Feature qw(indirect)«) — eine veraltete Methode zum Aufrufen von Objekten, bei der anstelle von «->» ein Leerzeichen verwendet wird («method $object @param» statt «$object->$method(@param)»). Zum Beispiel muss man immer «my $cgi = CGI->new» anstelle von «my $cgi = new CGI» verwenden.
  • Nackte Dateideskriptoren ohne Variablendeklaration («kein bareword::filehandle«) — die Verwendung von Konstruktionen wie «open FH, $file» fĂŒhrt zu einem Fehler; man muss «open my $fh, $file» verwenden. Diese Änderung betrifft nicht die Standard-Dateideskriptoren STDIN, STDOUT, STDERR, ARGV, ARGVOUT und DATA.
  • Fiktive mehrdimensionale Arrays und Hashes im Perl 4-Stil («kein multidimensional«).
    Zum Beispiel fĂŒhrt die Angabe von «$hash{1, 2}» zu einem Fehler; stattdessen sollte ein Zwischenspeicherarray verwendet werden, wie z.B. «$hash{join($;, 1, 2)}».
  • Prototypen-Deklarationen im Perl 4-Stil (man muss «use :prototype()» verwenden).

In ferner Zukunft plant man standardmĂ€ĂŸig die UnterstĂŒtzung von Unicode, was die Entwickler von der Angabe «use utf8» im Code befreien wird. FĂŒr Module und Skripte, die Probleme mit den neuen Standardeinstellungen haben, besteht die Möglichkeit, das Verhalten von Perl 5 durch das HinzufĂŒgen der Zeile «use compat::perl5» im Code wiederherzustellen. Einzelne Einstellungen bleiben ebenfalls erhalten und können separat geĂ€ndert werden.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster