Login
Newsletter
Werbung

Mi, 14. September 2011, 09:25

Software::Entwicklung

Plan für die Weiterentwicklung von Perl 5

Jesse Vincent, der aktuelle Leiter der Entwicklung, hat seinen Plan für die Entwicklung von Perl 5.16 und darüber hinaus vorgestellt.

Als die Entwicklung von Perl 6 begann, glaubten die Entwickler noch an eine Ablösung von Perl 5, das damals in Version 5.6 vorlag. Inzwischen ist Perl 5.14 erschienen und Perl 6 wird längst als vollständig neue Sprache angesehen, die Perl 5 nicht ablösen wird. Die Perl-5-Entwickler haben dementsprechend keine Pläne, Perl 5 einzustellen. Stattdessen soll es jedes Jahr im Frühjahr eine neue Version geben. Einen Plan für Perl 5.16 und darüber hinaus hat nun Jesse Vincent, der aktuelle Leiter der Entwicklung, in Vorträgen und auf der Mailingliste vorgestellt.

Jahrelang stagnierte Perl 5, teils weil man die Kompatibilität so wenig wie möglich brechen wollte, teils weil man auf Perl 6 setzte. Mit Vincent, der zeitweise der Projektleiter für Perl 6 war, kam neues Leben in die Perl-5-Bude. Die Zahl der neuen Features in Perl 5 nahm in letzter Zeit schneller zu als je zuvor. Dabei wurden auch Fehler gemacht, für die Vincent freimütig die Verantwortung übernimmt. In einigen Fällen wurde die Rückwärtskompatibilität gebrochen, was vermeidbar gewesen wäre. An anderen Stellen ist Perl 5 nun noch merkwürdiger als bisher.

Für die kommenden Versionen will es Vincent mit der Rückwärtskompatibilität nicht mehr ganz so streng nehmen wie bisher. Das bedeutet für ihn, dass bestehende Programme auch mit neuen Versionen funktionieren sollten, mit wenigen Ausnahmen. Solche Ausnahmen sind für ihn angebracht, wenn die weitere Entwicklung von Perl nicht anders zu machen ist. Diese Ausnahmen dürfen allerdings nicht so häufig auftreten, dass sie die Gemeinschaft ärgern. Andererseits vertritt er den Standpunkt, dass es diverse Kompatibilitätsprobleme schon immer gab und Stillstand keine Option sei.

Um Perl 5 weiterzuentwickeln, müssen gelegentlich veraltete Konstrukte beseitigt werden. Dies soll mit mindestens zwei Jahren Vorlaufzeit geschehen, in der der Interpreter vor der Verwendung dieser Konstrukte warnt. Nach Ablauf dieser Zeit soll die Funktionalität aber nicht vollständig weg sein, sondern soll sich mit use v5.x wieder aktivieren lassen. Damit würden viele ältere Programme ohne jede Änderung laufen, für den Rest würde eine zusätzliche Codezeile ausreichen.

Der Interpreter besitzt schon lange eine Reihe von Kompatibilitäts-Optionen, insbesondere kann man in seinem Programm eine minimal notwendige Version des Interpreters fordern. Das soll sich ändern. Programme, die neue Funktionalität von Perl 5.16 benötigen, müssen dies mit use v5.16 deklarieren, ansonsten stellt der Interpreter nur die Funktionalität von Version 5.14 bereit.

Die Modularisierung von Perl soll weiter vorangetrieben werden. Die Perl-5-Distribution umfasst weit mehr als nur die Sprache Perl; zahlreiche Module sind bereits im Standardumfang. Vieles davon sollte laut Vincent abgetrennt und als separate Module auf CPAN angeboten werden. Dafür sei aber noch eine Menge Arbeit im Kern nötig. Das Ziel sollte auf jeden Fall sein, den Kern so klein wie möglich zu machen, weil die derzeitige Größe für einige Anwendungsfälle zuviel sei und oft nicht die ganze Funktionalität benötigt wird. Letztlich sollte der Perl-Kern nur noch genug Funktionalität enthalten, um den Kern zu testen, die nötigen Sprachkonstrukte anbieten und eine Verbindung zu CPAN aufbauen zu können, um weitere Module zu installieren. Durch die separate Pflege der Module, die bisher im Kern enthalten waren, sollten auch die Entwickler entlastet werden.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung