Nový Perl 5.10 už není žádná žhavá novinka a informovaly o něm všechny relevantní zdroje včetně Rootu, ale musím se přiznat, že mi to v ruchu před koncem roku stejně uniklo. O to víc mě nová velká verze Perlu 5 po pěti letech potěšila. Nejde ani tak o těch několik vcelku příjemných nových funkcí, kterých si kvůli nutné kompatibilitě s verzí 5.8 stejně moc neužiju, ale spíš o potvrzení, že Perl stále žije.
V posledních měsících a letech to nebylo docela jasné. Perl, coby 20 let starý průkopník konceptu dynamického, high-level programování, poslední dobou ztrácí oblibu a uživatele ve prospěch svých mladších a modernějších pokračovatelů, jako je PHP, Python a Ruby. Práce na Perlu 6 se vlečou už asi sedm let, což mnoho původně natěšených programátorů začalo vnímat jako setrvalý stav. A nutným důsledkem obrovského množství energie, které projekt Perl 6 dlouhé roky vyžaduje, muselo být snížení aktivity i motivace pro práci na Perlu 5. Nový major release naznačuje, že ani Perl 5 jako dnešní důležitá produkční platforma není odepsaný a pořád má kolem sebe komunitu, jež se o něj dokáže postarat.
Abych řekl pravdu, po Perlu6 už jsem přestal toužit. Může se stát, že to nakonec bude mrtvě narozené dítě - v důsledku předlouhého porodu.
Proto mě vydání Perlu 5.10 také potěšilo. I když počet jeho příznivců dle statistik silně klesá, ve skutečnosti na tom příliž nezáleží. Dokud je jazyk udržovaný, stále žije.
Ja si myslim, ze Perl 6 je utopia a nebude mat v dnesnej dobe velky uspech, ale naopak sa tesim prave tomu, ze sa dalej vyvija klasika - Perl 5.x.
Mal som totiz dojem, ze po 5.8.x uz nic nove neprijde a caka sa len na Perl 6.
A preto ma prijemne prekvapili tieto 2 nove veci:
1) novy "smart match operator"
napr.: if ( $needle ~~ @haystack ) ...
2) "named captures" v regularnych vyrazoch
napr. ak:
$line =~ /(\w+):(?<name>\w+) = (?<value>\w+)/;
tak by sa malo dat pouzit
$name = $+{ name }; $value = $+{ value };
namiesto povodneho pozicneho zapisu
$name = $2; $value = $3;
Myslim, ze tie 2 rozsirenia Perlu boli inspirovane Pythonom. Ta 1) zda sa zodpoveda operatoru "in" v Pythone, napr:
if (element in list):.. resp. if (substring in string):..
a na 2) sme z Pythonu takisto zvykli.
Urcite si Perl 5.10 nainstalujem !
Přečteno 7 676×
Přečteno 5 863×
Přečteno 5 835×
Přečteno 5 817×
Přečteno 5 669×