$ {intro} $ {title} $ {intro} $ {title} Programmiersprache Perl 7: Neue Pläne für eine sanfte Evolution statt harter Einschnitte Epson DS-790WN im Test: Standalone-Netzwerk-Powerscanner mit Touchscreen So kombinieren Sie Signal, Whatsapp und Twitter ein Servererstellungsprojekt: Baue eine ESP32-Orgel mit Klaviertastatur Elektroautos: Tipps zum Batteriesparen Tipps: Elektroautos mit überschüssigem Solarstrom aufladen

Fast zwei Jahre nach der ersten Ankündigung von Perl 7 hat das Perl Steering Council (PSC) Pläne für die Zukunft der Programmiersprache angekündigt. Nach der ursprünglichen Idee soll Perl 7 einerseits alte Gewohnheiten beseitigen und andererseits häufig verwendete Module und Pragmas automatisch einbinden, um normalen Code zu reduzieren. Da dies einige disruptive Änderungen mit sich bringen würde, entbrannte eine Debatte über die Pläne, auf die das PSC nun reagiert.

Als einen wesentlichen Grund für die geplanten Änderungen gab Entwickler Sawyer X 2020 in seiner Perl-7-Ankündigung an, dass alle Minor-Versionen der Programmiersprache seit ihrer Einführung im Jahr 1994 aus Gründen der Abwärtskompatibilität zahlreiche Features und Konfigurationen enthielten. Perl 7 sollte sich nicht mehr um diese vererbten Probleme kümmern. Die Ankündigung erfolgte während des Mastervortrags auf der virtuellen Perl-Konferenz „Conference in the Cloud“. Seitdem hat Sawyer X seine leitenden Positionen niedergelegt.

spätere Entwicklungskontrolle

In späteren Diskussionen fanden sich sehr unterschiedliche Meinungen. Neben Sprachangleichung und Abwärtskompatibilität ging es um die Verantwortung für die Weiterentwicklung. Der Erfinder der Sprache, Larry Wall, ist nicht mehr beteiligt. Als erstes Ergebnis der Diskussionen erhielt Perl eine neue Governance-Struktur, deren Details auf GitHub zu finden sind.

Die Hauptsprachendiskussion findet immer noch auf der Mailingliste perl5porters (p5p) statt. Außerdem gibt es seit 2020 das dreiköpfige Perl Board of Directors, das im Zweifelsfall die Macht hat, über die Zukunft von Perl zu entscheiden. Das p5p-Hauptteam wählt die PSC-Mitglieder jährlich nach einer neuen Veröffentlichung der Programmiersprache.

Reibungslose Übergangspläne

Das Komitee hat drei Säulen für die Zukunft von Perl definiert: Erstens soll der vorhandene und sauber geschriebene Perl-5-Code auch in zukünftigen Sprachversionen funktionieren. Ausnahmen gelten unter anderem, wenn eine Sicherheitslücke Änderungen erfordert, die nicht mit früheren Versionen kompatibel sind. Zweitens will das PSC schnell neue Features auf den Markt bringen, wofür es jetzt einen RFC-Prozess (Request for Comments) gibt, der auf GitHub dokumentiert ist. Schließlich sollen die neuen Features einfach zu bedienen sein und der PSC will Entwickler dazu animieren, sie zu nutzen.

Sogenannte Feature Protectors (Usage Function) markieren neue Features im Perl-Code, die nicht rückwärts unterstützt werden, beispielsweise weil Innovation mit einem individuellen Funktionsnamen kollidiert. Die Warnung gilt nicht für neue Funktionen, die in früheren Versionen einfach einen Syntaxfehler erzeugen. Als Beispiel listet der PSC-Blogpost geplante foreach für Perl 5.36 auf.

Wenn Innovationen als experimentell gelten, ist ihre Zukunft ungewiss. Sie könnten sich in späteren Versionen ändern oder sogar wieder aufgegeben werden. Daher sollten diese Funktionen nicht in den Produktionscode aufgenommen werden.

Perl kennt seit Version 5.10 Versionspakete, die alle Neuerungen einer Version von Anfang an beinhalten. Verwenden Sie für das nächste Perl 5.36 v5.36; Also folgende Codezeilen:

erfordert v5.36; strenge Verwendung; Gebrauchshinweise; Verwenden Sie die ‘sagen’-Funktion; Verwenden Sie die „Status“-Funktion; Verwenden Sie die ‘current_sub’-Funktion; Verwenden Sie die ‘fc’-Funktion; Verwenden Sie die Funktion ‘lexical_subs’; Verwenden Sie die Funktion “Signaturen”. Verwenden Sie das ‘isa’-Feature; Verwenden Sie die Funktion ‘bareword_filehandles’; Verwenden Sie die Funktion “Bit für Bit”. Verwenden Sie die Funktion „evalbytes“. Verwenden Sie die Funktion ‘postderef_qq’; Verwenden Sie die Funktion „unicode_eval“. Verwenden Sie die Funktion „unicode_strings“. kein “indirektes” Merkmal; kein “mehrdimensionales” Merkmal;

Der PSC möchte Entwickler ermutigen, die abgekürzte Form zu verwenden, da sie deutlich macht, für welche Version die Software geschrieben wurde, und unnötige sich wiederholende Codes vermeidet.

Der reibungslose Weg zu Perl 7

Nach der Ankündigung von 2020 soll Perl 7 auf Basis von Perl 5.32 erscheinen, das vor zwei Jahren veröffentlicht wurde, mit einigen wesentlichen Änderungen. Ein Jahr später sollte Perl 5.34 als Basis für den Versionssprung dienen, der mit großen Störungen einhergehen sollte. Aktuelle Pläne sehen eher eine langsame Entwicklung als einen klaren Bruch und eine Unterbrechung vor. Das PSC will weiterhin neue Features in der Perl-5-Reihe veröffentlichen und alle experimentellen Features lösen, stabilisieren oder eliminieren.

Kommt das „Irgendwann in der Zukunft“-Gremium zu dem Schluss, dass Neuerungen von Perl 5 eine Neugründung von Perl rechtfertigen, ist der Sprung von der Version auf Perl 7.0 fällig. Die neue Version unterstützt standardmäßig Perl 5. Um alle neuen Funktionen in Perl 7 zu nutzen, verwenden Sie erneut den Befehl use v7 package; notwendig. Dies sollte Modern :: Perl und ähnliche Module bringen.

Wie in Serie 5 sollten 7.x-Versionen mit geraden Dezimalstellen jährlich erscheinen: 7.2, 7.4, 7.6 und so weiter. Darüber hinaus werden weitere 5.xx-Releases erwartet.

Die 6 fehlen und die nächsten 36

Der Sprung auf die nächste Version verdient seinen Namen, da er auf dem Weg von 5 auf 7 6 springt. Perl 6 wurde bereits zu Weihnachten 2015 veröffentlicht, heißt jetzt aber Raku und unterscheidet sich technisch deutlich von Perl 5, das nun für Version 7 vorgesehen ist ausdrücklich zu vermeiden.

Unterdessen steht in Kürze Perl 5.36 zur Verfügung, das derzeit als Launch Candidate verfügbar ist und am 18. Mai hätte erscheinen sollen.

Weitere Details zu den Plänen des Perl Steering Council für die Zukunft der Programmierung und den Sprung zu Perl 7 finden Sie im Blogbeitrag.

(rme)

Auf der Homepage

Leave a Comment

Your email address will not be published. Required fields are marked *