Perl

programski jezik

Perl je programski jezik opće namjene. Originalni autor Perla je Larry Wall, a prva inačica pojavila se 18. prosinca 1987. godine. Perl vuče svoje korijene iz drugih jezika kao što su primjerice C, sed, awk i Unix shell. Perl je danas ne samo programski jezik već i vrlo aktivna zajednica programera i korisnika. Odlikuje ga kvalitetan repozitorij gotovih programskih rješenja (CPAN - kratica od engl. "Comprehensive Perl Archive Network") što mu je ujedno i glavna prednost u odnosu na konkurentne jezike.

Ime uredi

Prvotno ime jezika bilo je pearl, a Larry Wall ga je preimenovao u Perl nakon otkrića da već postoji jezik PEARL. Perl se često tumači (i u službenoj dokumentaciju) kao "Practical Extraction and Report Language" premda nije akronim.[1]

Osobine Perla uredi

Perl je prema svojim karakteristikama objektno orijentirani programski jezik opće namjene s naglaskom na funkcionalnost, proširivost te laganu krivulju učenja. Perl je bio jezik izbora za razvoj WWW aplikacija sredinom 90-ih godina. Od samih svojih početaka to je jezik Unix i Linux sistemskih administratora koji ga koriste u svakodnevnom radu prvenstveno za automatizaciju procesa. Danas postoji i čitav niz korisničkih komercijalnih aplikacija pisanih u Perlu.

Izvedbena okolina istovjetna je istoimenom prevoditelju koji ima dvostruku namjenu: prevođenje izvornog koda u međuoblik pogodan za neposredno izvođenje (engl. code compilation) te samo izvođenje koda (engl. code execution). Obje funkcije dostupne su u svakom trenutku, odnosno Perl izvedbena okolina omogućava tvorenje novih Perl programa odnosno Perl funkcija u toku samog izvođenja. Time je Perl blizak i funkcionalnim programskim jezicima kao što su Smalltalk i Haskell.

Trenutna inačica Perla koja je danas u širokoj uporabi (Perl 5) ipak sadrži previše već ponešto zastarjelih programerskih tehnika, a zbog željene potpune kompatibilnosti sa starijim inačicama iz 80-ih godina pati i od izvjesnih nedostataka. Ovdje je potrebno napomenuti da je današnji stil programiranja u Perlu daleko od stila iz sredine 90-ih. Naglasak je prije svega na korištenju gotovih dobro testiranih korisničkih biblioteka dostupnih preko već spomenute CPAN arhive. Premda je Perl na glasu kao "kriptičan" jezik "hackera", uz nešto profesionalne discipline te pridržavanja određenih pravila programiranja, moguće je pisati vrlo pregledne i uredne programe.

Sintaksa uredi

Sintaksa Perla vuče svoje korijene iz C jezika, i mnogo konstrukti (petlje, uvjeti) iz C jezika se mogu slično napisati u Perlu.

Varijable uredi

U Perlu nije nužno deklarirati varijable prije njihove uporabe, premda se to preporučuje.[2] Tipovi varijabli dinamički se određuju tijekom izvršavanja programa.

Primjer:

U Pascalu je nužno definirati varijable (kao i njihov tip) prije uporabe, za mijenjanje tipa varijable koristimo funkcije npr. IntToStr() i StrToInt() koje nam vraćaju nove varijable.

Pascal

var
i: Integer;
s: String;

begin
   s:='0';
   i:=StrToInt(s);
   i:=i+1;
   s:=IntToStr(i);
   WriteLn(fFileName,s+' je jedan');
end

Perl

my $s = '0';
print "s = $s\n";
$s = $s + 1;
print "s = $s\n";

Ispis pri izvedbi:

s = 0
s = 1

U gornjem primjeru vidimo da je Perl kod bitno kraći, nema deklaracije varijabli, a tip varijabli se određuje dinamički (ako se koristi operator +, a sadržaj varijable je numerički, interpreter izvršava operaciju sumiranja bez obzira na to što je varijabla $s inicijalno definirana kao string.

Perl 6 uredi

Razvoj Perla dobio je novi zamah početkom 2001. godine kada je grupa programera okupljena oko Larrya odlučila pokrenuti novu inačicu pod nazivom Perl 6. Ta je nova inačica po svojim karakteristikama primjer programskog jezika za 21. stoljeće koji ujedinjava sva dobra svojstva modernih programskih jezika koristeći se novom (i nekompatibilnom s aktualnom inačicom) sintaksom i semantikom.[3] Perl 6 će po svojoj arhitekturi biti donekle sličan .NET i Java okolinama s jednom bitnom razlikom: izvedbena okolina će umjesto stogovne tehnike koristiti tehniku virtualnog procesora. Time se Larry i zajednica nadaju bržem izvođenju programa i mogućnosti korištenja dobro poznatih i razrađenih metoda optimizacije prevođenja izvornog koda.

Perl 6 još nije dostupan, ali pojedini njegovi dijelovi su već daleko uznapredovali u razvoju. Perl 6 izvedbena okolina poznata pod nazivom Parrot će također omogućiti izvođenje programa pisanih u srodnim jezicima kao što su Python i Ruby. Perl 6 je po svim svojim značajkama potpuno novi programski jezik i izvedbena okolina te jedan od najvećih aktivnih open-source pothvata koji okuplja veliki broj talentiranih programera. Perl 6 je, prema riječima samog Larrya, potpuna obnova Perla i zajednice programera i korisnika.

Od 2008. godine, jedna od implementacija Perl 6 jezika je i Rakudo[4] koja se pokreće na Parrot okolini i koja se aktivno razvija od strane Perl 6 zajednice. Rakudo, od prosinca 2008. godine, prolazi testiranje za preko 50% specifikacija jezika Perl 6.[5]

Vanjske poveznice uredi

Izvori uredi

  1. "What's the difference between 'perl' and 'Perl'?"
  2. "perlintro: safety-net
  3. "Perl6 Architecture". Inačica izvorne stranice arhivirana 22. siječnja 2009. Pristupljeno 16. prosinca 2008.
  4. "The compiler formerly known as 'perl6'". Inačica izvorne stranice arhivirana 23. prosinca 2008. Pristupljeno 16. prosinca 2008. journal zahtijeva |journal= (pomoć)
  5. "Rakudo now passing over 5,000 spectests". Inačica izvorne stranice arhivirana 16. prosinca 2008. Pristupljeno 16. prosinca 2008. journal zahtijeva |journal= (pomoć)