Perl 7 kommt. (Bild: Perl.com)

Die Keynote zur virtuellen Perl-Konferenz „Conference in the Cloud“ überraschte seine Zuschauer: Der informelle Chefentwickler Sawyer X kündigte eine neue Hauptversion unter dem Namen Perl 7 an.

Der Versionssprung für das Urgestein der Programmiersprachen klingt gewaltig. Perl 7 kommt, während die aktuelle Version die Nummer 5.32 trägt. Hohe Erwartungen sind indes zunächst nicht gerechtfertigt.

Nix mehr verpassen: Die t3n Newsletter zu deinen Lieblingsthemen! Jetzt anmelden

Perl 7 führt moderne Standardeinstellungen ein

Vielmehr wird Perl 7 ein Perl 5.32 mit angepassten Standardeinstellungen sein. Erst im späteren Verlauf der Arbeiten seien größere Neuerungen zu erwarten. Das klingt nach wenig, ist aber jedenfalls ernst gemeint. So befinden sich erste Pre-Releases schon im Test und der offizielle Release-Candidate soll noch in diesem Jahr kommen. Das kann durchaus funktionieren, immerhin ist Perl 5.32 ganz aktuell und erst am 20. Juni 2020 veröffentlicht worden.

Wenn die Entwickler von geänderten Standardeinstellungen sprechen, dann meinen sie damit in erster Linie die Strict- und Warning-Features. Die sollen in Version 7 automatisch aktiviert sein, während bislang nur die dringende Empfehlung galt, dies in Software-Projekten manuell zu tun. Damit Perl 7 auf diese Weise nicht die Rückwärtskompatibilität verliert, soll es einen Kompatibilitätsschalter geben, der die alten Defaults zurückbringt.

Perl 5 aka Kompatibilitätsprobleme

Kompatibilitätsprobleme durchziehen die Geschichte Perls bereits seit der Version 5.0, die im Oktober 1994 erschienen war. Die war natürlich so konzipiert, dass deren Standardeinstellungen zeitgemäß zum Erscheinungszeitpunkt waren. In der Folge entschieden sich die Perl-Entwickler dazu, die Rückwärtskompatibilität mit allen Mitteln durchzuhalten.

Das führte dazu, dass in konkreten Projekten immer mehr abweichende Werte angeboten und gesetzt werden musste, damit niemals die Standardeinstellungen aus der Vorzeit angepasst werden mussten. Der geplante Versionswechsel soll nun eine neue Basis schaffen, damit moderne Features und Konstrukte direkt und ohne Sonderkonfiguration zur Verfügung stehen.

Umstellungsaufwand minimal

Der Umstellungsaufwand hin zu Perl 7 dürfte minimal sein. Zwar fasst das Comprehensive Perl Archive Network (CPAN) annähernd 200.000 Module, aber da Version 7 im Grunde nur eine anders gelabelte Version 5.32 ist, sind keine Probleme zu erwarten. Etwaige Probleme einzelner Module können über den Kompatibilitätsmodus abgefangen werden.

Im Grunde dreht das Perl-Team nur die Verfahrensweise. Bislang mussten Entwickler Features gesondert aktivieren, die für eine moderne Entwicklung unabdingbar sind. Künftig muss der Kompatibilitätsmodus eingeschaltet werden, wenn tatsächlich die Rückwärtskompatibilität gefordert ist. Im Ergebnis dürfte das für aktive Entwickler der weitaus aufwandsärmere Weg sein.

Perl 7 ist nicht der Nachfolger von Perl 5

Dabei stellt Perl 7 nicht etwa die Ablösung von Perl 5 dar. Vielmehr soll Perl 5 weiter gepflegt und einen Langzeitsupport erhalten, der über die bislang üblichen zwei Jahre hinausgeht. Bis zu zehn Jahre hat Chefentwickler Sawyer X in Aussicht gestellt.

Um die Zählung logisch stimmig werden zu lassen, darf Perl 6 nicht fehlen. Diese Sprachversion gibt es seit 2000. Sie wich von Beginn an sehr stark von Perl 5 ab, unter anderem durch ihr eigenes Objektsystem. Perl 6 heißt heute Raku und unterstreicht damit den Anspruch, eine vollkommen eigenständige Sprache zu sein.

Passend dazu: Web-Development jetzt und später: 3 ½ Vorhersagen, die du lesen solltest

Leave a Reply