Som siste luke i en slags julekalender ble Perl 6 offisielt utgitt den 25. desember i år. Til tross for navnet, dreier det seg om et helt nytt programmeringsspråk, som riktignok bygger på og er bakoverkompatibelt med Perl 5. Men planen er at de to språkene skal leve side om side.
– Perl 6 var opprinnelig tenkt å være etterfølgeren til Perl 5. Men etter hvert, under de mer enn ti årene med design, fant man ut at Perl 5 ikke trenger å erstattes. Noen forbedringer kunne det derimot være behov for, fortalte Damian Conway, et fremtredende medlem av Perl-fellesskapet, til digi.no for drøyt tre år siden.
Både Conway og andre har antydet at forholdet mellom Perl 5 og Perl 6 er omtrent som mellom C og C++.
Rakudo
Det som i praksis ble utgitt i forrige uke, den første utgaven av Rakudo som implementerer en stabil utgave av språket Perl 6. Rakudo er lagd for å kjøres i den virtuelle maskinen MoarVM.
Selv om Perl 6 formelt sett er et nytt språk, så har det svært mye felles med klassiske Perl. Blant annet er kjerneverdiene de samme. Språket er uttrykksfullt, inspirert av naturlige språk og skal sørge for å få jobben gjort.
På denne annen side er Perl 6 objektorientert fra bunnen av, selv om det også har full støtte for andre programmeringsparadigmer. Et detaljert typesystem er også på plass i Perl 6, noe som ikke finnes i Perl 5.
Perl 6 skal fungere godt som «lim» mellom komponenter skrevet i andre språk, for eksempel C/C++ (med NativeCall) og Perl 5 (via Inline::Perl5).
Det loves betydelig forbedringer, også på ytelsessiden, i forbindelse med regulære uttrykk (regex), samt bedre støtte for asynkrone data og parallellprosessering.
- Det har tatt sin tid: Snart bryter Perl med fortiden
Stabilt språk, uferdig implementering
Dette blir på ingen måte den siste utgaven av Rakudo. Det planlegges månedlige utgivelser med blant annet forbedret ytelse og stabilitet. For selv om spesifikasjonen er stabil, advares det mot å anta at perfeksjonsnivået i implementeringen kan sammenlignes med etablerte produkter.
– Dette er i vesentlig grad en .0-utgivelse av en kompilator, heter det i kunngjøringen. Det mer enn antydes at dokumentasjonen er uferdig og at plattform- og arkitekturstøttes er mangelfull.
Derfor mener felleskapet at den viktigste leveransen nå er språkspesifikasjonen, som er definert av mer enn 120 000 tester. Disse testene, som kalles for roast (Repository Of All Spec Tests) 6.c, er nå endelige, slik at Perl 6 nå kan brukes med stor grad av sikkerhet om at spesifikasjonen ikke vil bli endret hver måned.
I alle fall dersom man holder seg til den funksjonaliteten som faktisk er omfattet av testsuiten.