3 Punkte von kunggom 2020-06-25 | 3 Kommentare | Auf WhatsApp teilen

Perl hat eine Ankündigung zu Version 7 veröffentlicht. (Englisch) Perl 7 soll im nächsten Jahr (2021) erscheinen.

Perl ist eine dynamisch typisierte High-Level-Interpretersprache, die Larry Wall erstmals 1987 vorgestellt hat. Sie ist portabel und abwärtskompatibel, hat sehr starke Fähigkeiten zur String-Verarbeitung und wird deshalb unter anderem für verschiedenste Skripte sowie in Bereichen wie Linguistik und Bioinformatik eingesetzt. Bis in die frühen 2000er-Jahre wurde sie auch häufig für Webprogrammierung verwendet. Aus dieser Zeit erinnere ich mich noch daran, dass der Begriff CGI (Common Gateway Interface) manchmal fälschlich so benutzt wurde, als bezeichne er die Kombination aus Apache-HTTP-Server und der Sprache Perl. Auf den meisten Linux-Systemen und auf macOS ist Perl standardmäßig installiert und kann daher sofort verwendet werden. Wenn ich jetzt nachsehe, ist auf meinem MacBook mit macOS 10.15 Perl v5.18.4 installiert, und auf Ubuntu 20.04, das auf einem Raspberry Pi 4 läuft, Perl v5.30.0.

Perl 6 wurde ab dem Jahr 2000, als Perl 5.6 veröffentlicht wurde, mit dem Ziel entworfen, die Abwärtskompatibilität aufzugeben und alle historisch gewachsenen Unzulänglichkeiten über Bord zu werfen. Nach einer sehr langen Verzögerung bei der Veröffentlichung wurde es schließlich 2019 vollständig als separate Sprache unter dem Namen Raku abgespalten. Aus diesem Grund überspringt Perl die Versionsnummer 6 und wechselt direkt zu Version 7. Außerdem soll sich Perl 7 grundsätzlich nicht stark von der aktuellen stabilen Version 5.32 unterscheiden, aber modernere und sicherere Standardeinstellungen verwenden. Falls diese Einstellungen Kompatibilitätsprobleme verursachen, soll es einen Kompatibilitätsmodus geben, der stattdessen die Einstellungen von Perl 5 verwendet. Das bedeutet, dass sich bisher gut genutzte Perl-Skripte und die große Menge bestehenden Codes auf CPAN (Comprehensive Perl Archive Network) auch unter Perl 7 mit nur minimalen Änderungen weiterverwenden lassen.

3 Kommentare

 
yongbin 2020-06-26

Danke für die Zusammenfassung. Es gibt ein paar Punkte, die etwas von dem abweichen, was ich weiß, deshalb hinterlasse ich einen Kommentar.

  1. Das Designziel von perl6 war nicht, Unstimmigkeiten von perl5 abzuschütteln. perl6 zielte vielmehr darauf ab, auf dem grundlegenden Geist von perl5 aufzubauen und modernere Programmierparadigmen sowie Laufzeitstrukturen standardmäßig im Sprachkern zu verankern; perl6 hatte also nicht das Ziel, perl5 zu ersetzen. Daher sollte man die Beziehung eher mit der von C und C++ vergleichen als mit der von Python 2 und Python 3.

  2. perl6 wurde nicht in Raku umbenannt, weil sich die Veröffentlichung verzögert hatte. perl6 wurde zu Weihnachten 2015 offiziell veröffentlicht, und es existieren mehrere VMs und Laufzeiten. Die Umbenennung im Jahr 2019 war, wie oben erwähnt, eine Entscheidung, um die unabhängige Beziehung zwischen perl5 und perl6 stärker hervorzuheben.

Danke.

 
kunggom 2020-06-26

Ach so. Danke für Ihren Kommentar.

 
yongbin 2020-06-26

Vielen Dank für den Beitrag!