Ponie
# Ponie

Ponie ist ein Open-Source-Projekt, das Perl 5 auf Parrot, die für Perl 6 entwickelte virtuelle Maschine, portieren wollte. Vereinfacht gesagt übersetzt es Perl-5-Code so, dass er Perl-6-Funktionen aufrufen kann und umgekehrt. Damit sollte das gesamte CPAN Perl-6-Programmen zur Verfügung gestellt werden.

Der Name Ponie ist ein Backronym und steht für Perl On New Internal Engine, wurde aber als Anspielung auf die Redewendung "I want a pony" gewählt, die in der london.pm, Perls größter lokaler Benutzergruppe, oft verwendet wurde, um schwer erfüllbare Wünsche auszudrücken.

## Hintergrund

Da es sehr viele Programme und Module gibt, die in Perl 5 geschrieben sind, gibt es sehr starke persönliche als auch kommerzielle Interessen, dass Perl 5-Quellcode so lange wie möglich lauffähig bleibt. Außerdem wurde bereits bei der Planung von Perl 6 angekündigt, den Umstieg so sanft wie möglich zu gestalten. Mit Ponie kann man mit einem Perl-5-Programm nahtlos auf den neuen Interpreter wechseln und nach belieben Modul für Modul übersetzen, wobei die Gesamtapplikation ausführbar bleibt. Nicht zuletzt bleibt mit Ponie die große Bibliothek der CPAN-Module, die einen großen Teil zu Perls praktischem Nutzen beitragen, auch für Perl 6-Programme nutzbar.

## Entwicklung und Planung

Diese Probleme sollen mit dem am 8. Juli 2003 von der Perl Foundation gestarteten und von der Londoner Softwarefirma Fotango unterstützten Ponie-Projekt überwunden werden, das auf der OSCON 2003 von Larry Wall bekanntgegeben wurde. Ursprünglich bekam Fotango-Mitarbeiter Arthur Bergmann die Leitung, 2005 übernahm das sein Kollege Nicholas Clark. Eine Alpha-Version des Projekts steht auf der Homepage zum Download zur Verfügung. Es ist geplant, immer mit der jeweils aktuellen Perl 5 Schritt zu halten, so dass Ponie später voll kompatibel mit Perl 5.10 sein soll. Dies soll den Wechsel von Perl 5 zu Perl 6 einfach wie möglich gestalten, da es dann jedem frei steht, wann er die Sprache oder die Interpretertechnologie wechselt. In Perl 5 geschriebene Software kann mithilfe von Ponie stückweise nach Perl6 portiert werden, was besonders für große Projekte und kommerzielle Softwareanbieter wichtig ist. Durch die Portierung auf Parrot können alte Perl-Module prinzipiell nicht nur von Perl 6, sondern von allen auf Parrot lauffähigen Sprachen verwendet werden.

## Einstellung der Entwicklung

Da das Projekt nicht genügend Unterstützung von der Perl Online-Community erhalten hat und die Entwicklung hauptsächlich allein von Fotango vorangetrieben wurde, wurde seine Einstellung im August 2006 offiziell auf der Webseite der Perl Foundation bekannt gegeben. Es wurde geprüft, inwieweit man bestehenden Code, der oft anderweitig benutzt wird, sinnvoll weiterverwenden und verwerten kann.

## Nachfolger

Da das Ziel von Ponie für den Erfolg von Perl 6 entscheidend ist, gab es mehrere Versuche es auf anderem Wege zu erreichen. Die derzeit aussichtsreichste Perspektive bietet die für Rakudo optimierte MoarVM.

