Snart bryter Perl med fortiden

Forenkling og samhandling er sentrale stikkord for versjon 6 av skriptspråket Perl. Gammelt skrot skal bort.

Perl er et mye brukt, dynamisk skriptspråk som er mest kjent å dets egenskaper knyttet til prosessering av tekst. Perl er basert på åpen kildekode og ble laget av Larry Wall for mer enn 20 år siden. Wall har fortsatt overoppsyn med utviklingen av Perl.

Dagens utgave av Perl, versjon 5.10.0, ble utgitt i desember i fjor og bygger på Perl 5 som kom allerede i 1994.

Helt siden 2000 har det blitt arbeidet med å utvikle en ny versjon av Perl. Perl 6, som den kalles. Mange mener tiden er overmoden for at den skal lanseres, selv om en del funksjonalitet som kommer i Perl 6, også er gjort tilgjengelig i versjon 5.10.0.

I en tale under Open Source Developers' Conference 2008 i Sydney, Australia i forrige uke, fortalte Wall om de viktigste endringene som vil komme i Perl 6. Det skriver Techworld Australia.

På mange måter har utviklingen av Perl startet på nytt med Perl 6.

- Den vil bryte med bakoverkompatibiliteten. For å kunne forenkle den, måtte vi kvitte oss med gammel og dårlig kode, spesielt i forbindelse med regulære uttrykk, fortalte Wall.

Dette gjør at situasjonen for Perl 6 ikke er ulik den som nylig oppstod da skriptspråket Python kom i versjon 3. Heller ikke Python kunne beholde full bakoverkompatibilitet og samtidig ta et betydelig skritt framover.

- Mye av uleseligheten til Perl er relatert til syntaksen for regulære uttrykk - og det var ikke vi som lagde dette, vi fikk det fra Unix. Denne har behov for å bli avsluttet. Regulære uttrykk er ikke strenger, de er et subspråk. Vi tok det og gjorde det verre. Det er denne to-trinns-egenskapen som er et onde, sa Wall.

- Vi ønsker å bevare så mye av Perl-kulturen som vi kan, slik at det fortsatt er gjenkjennbart som Perl, men triveligere. Vi forteller deg hvordan du skal tenke, men ikke hva du skal tenke. Perl-kulturen oppfordrer til frihet, sa Wall.

Det går fram på nettstedet til Perl Foundation at parserdelen i Perl 6 skal separeres fra kompilatordelen og kjøremiljøet. Dette skal åpne for at flere språk skal kunne fungere sammen. Blant annet skal man kunne skrive programmer i Perl 6, Perl 5, TCL, Python eller et hvilket som helst annet språk det finnes en parser til.

Runtime-motorer som kan byttes om hverandre skal tolke utviklernes bytekode eller konvertere den om til noe annet, for eksempel Java, C eller tilbake til Perl.

- Tanken med Perl 6 er at du starter med et standard språk og så kan du mutere det. Så lenge du følger raffineringsprosessen vil ikke tvetydighet være noe problem. Problemet med flere dialekter vil være tilstede, men dette vil alltid være et problem, sa Wall.

Det vil bli levert en standardimplementering og en testpakke med Perl 6.

De regulære uttrykkene i Perl 6 skal bli mer regulære.

- Vi har kraftigere primitiver i Perl 6. Det er ikke lenger noen /x-bryter for å aktivere utvidet syntaks. Det er ikke lenger brytere som /s, og punktum «.» betyr nå treff på ethvert tegn. Det finnes ikke lenger noen /m-modifikator og vi har regularisert krøllparentesene slik at {} alltid betyr integrert kode, fortalte Wall.

Det er fortsatt uklart når Perl 6 blir klar for lansering. Ifølge Wall vil det skje 1. juledag i et år i nær framtid.

- Hver eneste dag vil være som 1. juledag når Perl 6 er lansert, hevdet Wall.

    Les også:

Til toppen