Portál AbcLinuxu, 28. prosince 2025 20:39
Není to jen tím, že Perl dostatečně neovládáte?
Perl 6 prozatím vypadá jako velmi příjemná směska Perlu (ať už to slovo znamená v tomhle kontextu cokoli
), Ruby/Smalltalku, Lispu a Haskellu, s docela slušnou šancí, že prakticky žádný užitečný idiom, technika ani konstrukce vymyšlené za posledních třicet let mu nebou činit žádné zvláštní překážky.
(Počínaje zobecněním regulárních výrazů s čitelnou syntaxí (proti té současné se ohrazuje sám Larry Wall, takže jsou-li některé perl5ovské skripty nečitelné kvůli přemíře regexpů, určitě je sám hájit nebude), přes pravá makra jako v Lispu, volitelné líné vyhodnocování jako v Haskellu, až po třeba kvalitní objektový systém, který si vzal ponaučení z Lispu a Smalltalku, a to ponechávám stranou takové věci, jako junctions/kvantové superpozice z Perlu 5.
)
Perlu 5 se bojím, ale na Perl 6 se docela těším. Otázka ovšem je, jak dlouho ještě budu muset.
Některé jazyky mají výjimky objektové, jiné je objektové nemají (ve smyslu "objekt výjimky je instance třídy s nějakými vlastnostmi", pořád to může být objekt jako first-class hodnota), některé jazyky při výjimce automaticky odvíjejí zásobník, jiné zase ne, některé jazyky umožňují výjimku ošetřit a pokračovat od bodu jejího vzniku, jiné zase ne... O objektových systémech by se dalo říct přesně totéž. Kde je tedy něco "standardního"?
Myslel jsem to takhle: v Pythonu jsou objekty a výjimky zadrátované do jazyka, stejně jako v Javě, Ruby, C++. V Perlu nikoliv. Jazyk sice podobné fíčury umožňuje, ale jsou to v podstatě hacky a obvykle jsou na trochu nižší úrovni, proto se obvykle zabalí do nějakého modulu. No a těch modulů je pro každou fíčuru víc a nejsou kompatibilní.To podle mě také není tak úplně správně. Třeba Common Lisp definuje systém výjimek (nebo spíš "stavů" - "conditions"), který by - pokud by nebyl dodáván s jazykem - šel naimplementovat "pomocí hacku na nižší úrovni", a sice pomocí základních speciálních operátorů. Dokonce je velká šance, že přesně tak bude v průměrné implementaci systém výjimek naimplementovaný. Myslim, že zrovna systém výjimek je jedna z těch věcí, které jsou na jazyku samotném závislé jen poměrně volně. To už je pak věc komunitu uřivatelů, jak s případnou volností naloží.
. Když se objeví nějaká nová móda, jak tomu bylo například u OO, tak půjde do Perl 6 přidat elegantněji než do předchozích verzí.
, ale na slajdy se podívám.
"Udržovatelnost" programu je z valné míry vlastností programátora, nikoliv jazyka!
Udržovatelnost programu je do značné míry determinována i jazykem. Je sice možné psát v Perlu i přehledné kódy, nicméně řada vedlejších efektů v mnoha konstrukcích Perlu tomu moc nepřispívá. Navíc u Perlu se jak píšete se hůře čitelné zrůdnosti staly módou. Řekl bych tak, v Perlu, pokud chcete, udržovatelné kódy psát lze, ale daleko snadněji lze psát více čitelné a udržovateln= kódy v naprosté většině jiných jazyků.
Mimochodem, neviděl jsem moc rozsáhlejších projektů v Perlu (v porovnání s množstvím v jiných jazycích) a jako důvod si myslím, že je to značná faktická neudržovatelnost Perlu. A problém se násobí, a to značně, pokud má spolupracovat více perlistů na jednom projektu.
. Mé zkušenosti (ano zkušenosti, ne pocity) jsou jiné. Např. Perl::Critic je pro práci v týmu neocenitelný.
Wikipedia píše "Large projects written in Perl include Slash, Bugzilla, TWiki and Movable Type. Many high-traffic websites, such as bbc.co.uk, Amazon.com, LiveJournal.com, Ticketmaster.com and IMDb.com[20] use Perl extensively."
Mě připadá zrůdnější říkát si "K čemu testy? Nepíšu to přece v hnusném Perlu a v nádherném Pythonu.".
kdo umí dobře ovládat jazyk PerlJa vim, je to offtopic, ale tento jazykovy konstrukt je zvlastni. Podle me by stacilo napsat "umi dobre" nebo "dobre ovlada". Pripada mi to skoro jako kdyby nekdo v C udelal jednu dereferenci navic. Kdyby tam stalo velmi podobne "umi dobre ovladnout jazyk Perl", tak by pisatel zrejme pozadoval nekoho, kdo Perl sice ani nemusi znat, ale staci, kdyz by se ho chtel naucit. Takze nyni vlastne pozaduje nekoho, kdo Perl drive neznal, a byl schopen se mu (tehdy) dobre naucit, spis nez nekoho, kdo ho proste jenom dobre umi.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.