Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: asdfasd 17. 12. 2011, 19:17:28

Název: Skriptovacie jazyky: Perl, Python nebo Lua?
Přispěvatel: asdfasd 17. 12. 2011, 19:17:28
zdravim,

zacinam s programovanim (mam zaklady pascalu a to je tak vsetko) a neviem sa rozhodnut medzit tymito jazykmi : Perl, Python, Lua

Python - vsetko fasa len sa dost bojim tych zmien vo verziach (napr. 2.6 vs 3.0, 3.0 vs 3.2),

Perl - vraj niekedy dost mätuca syntax

Lua - malo dokumentacie, neviem ci by som to zvladol

co by ste mi odporucili? viem ze je tu podobnych threadov isto vela ale skratka neviem
Název: Re:Skriptovacie jazyky
Přispěvatel: branchman2 17. 12. 2011, 19:35:35
Podla mna je vitazom na obycajne skriptovanie Perl - syntax je podla mna prirodzena; najvacsia nevyhoda je citatelnost, ak to pises "iba aby to fungovalo".

Dalsie dva su pekne, ich funkcionalna cast je krajsia ako to u Perlu, ale maju problemy s kompatibilitou medzi verziami a s ich rozsirenim - perl je skoro vsade, ma moduly skoro na vsetko.
Název: Re:Skriptovacie jazyky
Přispěvatel: DarkKnight 17. 12. 2011, 19:36:19
ale zase pokud mas jenom zaklady pascalu, nejlepsi pro tebe bude python
Název: Re:Skriptovacie jazyky
Přispěvatel: Murnatipak 17. 12. 2011, 20:19:58
Mě to přijde jako jestli se máš "učit řehtat", "chrochtat" nebo "vyplazovat jazyk", všechno z toho MĚ přijde jako blbost.

Třeba Ruby se nemusí používat jen s Rails a když umíš Ruby, bude cesta k Rails snazší, navíc tě jazyk sám vede k "pěknému kódu".
Stejně tak PHP, tenhle "zmetek" je pořád na 70% webů a na skripty mimo web se dá použít taky.

Skript, jako skript, má být PODLE MÉHO názor napsaný v Shellu (BASH).
Přijde mi jako pěkná zhovadilost, když nějaký programátor vyžaduje, aby se k vůli jeho blbýmu skriptu musel ještě extra instalovat překladač. Pokud se těchhle debílků sejde několik, znamená to na server nainstalovat Perl, Python, Lisp i Ruby naráz.

Skriptovací jazyk je brána k plnohodnotným programům, proč se tedy neučit rovnou plnohodnotný jazyk?
Jestli chceš dělat web, uč se Ruby/PHP/C#.
Jestli chceš dělat aplikace, uč se C#/C++11(C++0x)/C.
Jestli chceš dělat skripty pro hry, jdi do LUA.

Název: Re:Skriptovacie jazyky
Přispěvatel: fsdgsdfg 17. 12. 2011, 20:21:58
Skript, jako skript, má být PODLE MÉHO názor napsaný v Shellu (BASH).
Přijde mi jako pěkná zhovadilost, když nějaký programátor vyžaduje, aby se k vůli jeho blbýmu skriptu musel ještě extra instalovat překladač.

Vidis. Pak nechapu proc pozadujes bash :-)
Název: Re:Skriptovacie jazyky
Přispěvatel: KapitánRUM 17. 12. 2011, 20:57:09
Třeba proto, že BASH už je nainstalovaný jako výchozí SHELL v 99% Linuxových instalací?
Pokud by byl Perl/LUA/LISP/Pytloun na 99% stanic, doporučoval bych jeden z nich.
Název: Re:Skriptovacie jazyky
Přispěvatel: Inkvizitor 17. 12. 2011, 21:02:08
Osobně doporučuji Python (budeš-li chtít přejít na weby, můžeš ho využít v Djangu, Google App Engine nebo spoustě jiných frameworků, na GUI doporučuji třeba PyQt) - dost velkých firem ho používá a asi vědí proč, případně Ruby. Výhodou je interaktivní interpreter, spousta knihoven (ne tolik jako v Perlu, ale upřímně; Perl je dnes spíš na sestupu, zatímco v Pythonu a Ruby se děje moc a moc zajímavých věcí - PyPy včetně stackless verze, zmíněný GUA, v Ruby je Rubinius, verze těchto jazyků pro JVM a .NET atd.), relativně promyšlená syntaxe atd.

Řečí pravověrných příznivců shell skriptů si nevšímej; jakmile Tvůj skript trošku povyroste, budeš šťastný, že jsi ho nezačal psát v shellu. A ať Tě ani nenapadne psát větší aplikaci v C. Ne že by to nešlo, ale je to opruz.
Název: Re:Skriptovacie jazyky
Přispěvatel: Inkvizitor 17. 12. 2011, 21:05:08
Perl a Pytloun jsou nainstalované na nezanedbatelném procentu stanic, Kapitáne. A na ten zbytek se snadno nainstaluje pomocí yum/apt-get/zypper/urpmi nebo něčím podobným - je to jeden blbý příkaz v konzoli a Perl s Pytlounem už jsou tam pak nafurt.
Název: Re:Skriptovacie jazyky
Přispěvatel: wamba 17. 12. 2011, 21:39:31
Perl je dnes spíš na sestupu, zatímco v Pythonu a Ruby se děje moc a moc zajímavých věcí

 v Perlu se děje taky dost zajímavých věcí perlbrew, cpanminus, metacpan, perl5i, oživení zoidberg-a, ...
a nezapomínejme na Perl6 :)
Název: Re:Skriptovacie jazyky
Přispěvatel: KapitánRUM 17. 12. 2011, 22:11:00
Ano, za předpokladu, že chceš mít v systému nainstalováno fůru bordelu, je jeden příkaz opravdu řešení, taky umím napsat apt-get.  Ale chceš mít na serveru balast? Já ne!
Třeba takovej blbej spamassasin, Perlová lahůdka, něco hnusnější jsem viděl jen, když jsem se snažil upravovat Qmail a proklínal jsem Bernsteina. Ne snad, že by to (assasin) bylo geniálně napsané jako Qmail, ale různě v tom strašilo, CPU například vytížil na 100% ...ale jen někdy, nelogicky, nedařilo se to uměle vyvolat, pak to po nějaké aktualizaci Perlu přestalo blbnout. Půl roku byl pokoj, jenže po půl roce se provedla zase jedna z aktualizací a šup, utilizace občas 100%. No to bych blil! Taky jsem ho i s Perlem kopl do řiti a nasadil sice placené, ale bezúdržbové řešení (50Kč/rok/mailbox). (Viz Google: spamassassin high cpu load)

Už jen z definice: Skript má být malý, čitelný a jednoúčelový program.
Třeba to, co se děje s JavaScriptem, je taky hnůj.
Mám pocit, že to je taková hnojňácká nátura, snažit se vylepšovat něco, co už bylo dávno překonáno a mělo být nahrazeno.
Kdyby stejní lidé, kteří se snaží vylepšovat skripty v čele s JavaSkriptařema vyráběli počítače, mělo by počítač pár firem a jelo by se na elektronkách! Jééé tranzistory, zbytečně moderní, bude stačit vylepšit elektronky!
Jé, Core i7 s 8GB ram, nesmysl, stačí když do 486ky přidáme další 8MB modul!
Na co Cčko, tisíc řádek přece není tak moc!
Na co lopatu, tu metrovou díru klidně vyhrabu rukou!
Přijde mi to takové "pravověrně komunistické".
Název: Re:Skriptovacie jazyky
Přispěvatel: DgBd 17. 12. 2011, 22:11:48
Perl je dnes spíš na sestupu, zatímco v Pythonu a Ruby se děje moc a moc zajímavých věcí

 v Perlu se děje taky dost zajímavých věcí perlbrew, cpanminus, metacpan, perl5i, oživení zoidberg-a, ...
a nezapomínejme na Perl6 :)

A Perl6 je výhoda nebo nevýhoda? :-) Na to, že se o něm mluví už tak 10 let...
Název: Re:Skriptovacie jazyky
Přispěvatel: DgBd 17. 12. 2011, 22:17:49
KapitánRUM:

Já bych řekl, že skriptovací jazyky jsou prostě na rychlý vývoj, případně jako prototypovací jazyky.  Ale na to, abych v C napsal nějakou analýzu vstupního textového souboru, na to bych se opravdu mohl...

Každá věc má prostě své místo a měla by se používat k tomu, k čemu byla určena. Používat kladivo na zašroubování vrutu sice jde, ale není to úplně ono.
Název: Re:Skriptovacie jazyky
Přispěvatel: KapitánRUM 17. 12. 2011, 22:34:55
2 DgBd

No to máš pravdu, a hned použiji tvoje přirovnání C ke kladivu a malý program k vrtu.
Na "sešroubování" tanku je zase blbost použít vruty.

Vruty(skripty) mají své nezastupitelné místo, ale to i svářečka(pořádný jazyk).

Prakticky jediný důvod oblíbenosti skriptů je v tom, že Cčko je prostě dost nahovno. (překvapeni?)
Psát v Cčku, nebo i v C++ vyžaduje se soustředit stejnou měrou na kód jako problém.
Proto Sun přišel s Javou a M$ s C#.
Jejich impotence prosadit svůj model, nedodělky, neřešené věci, nelogičnosti a další problémy vedou k tomu, že se ve skriptovacích jazycích vytváří i velké projekty.

A pod má člověk ambice i na větší věci než jen import souboru do DB nebo automatickou konfiguraci, měl by sáhnout po RUBY.
Název: Re:Skriptovacie jazyky
Přispěvatel: DgBd 17. 12. 2011, 22:55:42


A pod má člověk ambice i na větší věci než jen import souboru do DB nebo automatickou konfiguraci, měl by sáhnout po RUBY.

Tak rozdíly mezi Pythonem a Ruby jsou celkem minimální, takže asi záleží spíš na dostupnosti knihoven k patřičné práci.
Název: Re:Skriptovacie jazyky
Přispěvatel: KapitánRUM 18. 12. 2011, 01:42:43
Možná jsem byl až příliš příkrý, mě v zásadě nevadí skriptovací jazyky a chápu jejich důležitost, ale vadí mi, když se používají na věci, na které nikdy nebyly určeny.

Viz třeba JavaScript, který je super na ošetření stisku tlačítka, ale v poslední době nad ním vyrůstá ohromný moloch, který se pomocí knihoven ať už třeba prototype, coffeescript nebo podobných snaží "opravit" původní nedostatky jazyka. Lepší řešení by bylo se na tu sra*ku vykašlat a navrhnout striktně typový jazyk, ve kterém nepůjdou prasárny jako _tick("mamlas();_tick();");

Pak je to Perl, se kterým mám vyloženě špatné zkušenosti a ne jen díky spammassasinovi.
Opět, problém není v jazyce samotném, ale ve špatném užití.

LUA jako jazyk pro makra a skripty ve hrách je taky skvělá. Ale nechme jí hrám.

Ruby je krásná/ý.
Název: Re:Skriptovacie jazyky
Přispěvatel: Inkvizitor 18. 12. 2011, 02:46:39
Když říkáš, Kapitáne, že "skriptovací jazyky" jsou používány pro účely, pro které nebyly navrženy, netýká se to Pythonu ani Ruby. Tyto jazyky se od začátku profilovaly jako univerzální. Java byla od začátku navržena špatně (odstranění šablon bez náhrady prostě navrhnul nějaký jouda, podobně u přetěžování operátorů apod.), C# vystartovalo líp a rychleji se porvalo s problémy. Problém je, že když už se naskytne nějaký lepší jazyk, který vychází ze syntaxe C (D, Scala atd.), dočká se poměrně vlažného přijetí. Python a Ruby se celkem pochopitelně vydaly vlastní cestou, protože se tím návrháři odstřihli od klapek na očích, které céčkaři mívají. Pokud chce někdo dělat multiplatformní aplikace středního nebo vyššího rozsahu, má na výběr mezi C++ (vcelku nízkoúrovňová záležitost), JVM a jazyky pod ním (strašlivá infrastuktura), Pythonem a Ruby (v zásadě ekvivalentní; Python je z mnoha důvodů pragmatičtější volba a přes všechno hype kolem RoR ho používá větší počet vývojářů; Ruby je v něčem čistější, ale krása je věc názoru). Ostatní možnosti jsou poměrně obskurní nebo o nich ani nemá cenu uvažovat.
Název: Re:Skriptovacie jazyky
Přispěvatel: asdfasd 18. 12. 2011, 11:23:31
a treba sa obavat tych zmien vo verziach pythonu? lebo to je jedina vec ktora ma drzi v neistote
Název: Re:Skriptovacie jazyky
Přispěvatel: Inkvizitor 18. 12. 2011, 11:45:45
Pokud můžeš začít s nejnovější verzí, změn se obávat nemusíš.
Název: Re:Skriptovacie jazyky
Přispěvatel: Kit 18. 12. 2011, 12:11:18
Zatím tady nebyl zmíněn Lisp. I když v něm třeba nikdy nenapíšeš žádnou aplikaci, získáš návyky, které se ti budou hodit při programování v jiných jazycích.
Název: Re:Skriptovacie jazyky
Přispěvatel: Sten 18. 12. 2011, 12:37:35
Možná jsem byl až příliš příkrý, mě v zásadě nevadí skriptovací jazyky a chápu jejich důležitost, ale vadí mi, když se používají na věci, na které nikdy nebyly určeny.

Mnoho skriptovacích jazyků je univerzálních.

Viz třeba JavaScript, který je super na ošetření stisku tlačítka, ale v poslední době nad ním vyrůstá ohromný moloch, který se pomocí knihoven ať už třeba prototype, coffeescript nebo podobných snaží "opravit" původní nedostatky jazyka. Lepší řešení by bylo se na tu sra*ku vykašlat a navrhnout striktně typový jazyk, ve kterém nepůjdou prasárny jako _tick("mamlas();_tick();");

„Nedostatky jazyka“ se většinou snaží odstranit někdo, kdo ten jazyk nechápe nebo chápat ani nechce. Typický příklad je Qt nad C++.

Skriptovací jazyky jsou v naprosté většině případů dynamické, což je dáno právě tím, že jsou skriptovací.

Pak je to Perl, se kterým mám vyloženě špatné zkušenosti a ne jen díky spammassasinovi.
Opět, problém není v jazyce samotném, ale ve špatném užití.

Zrovna spamassassin je výborné použití jazyka Perl. Jaký jiný skriptovací jazyk byste chtěl používat na složité zpracovávání textů?

LUA jako jazyk pro makra a skripty ve hrách je taky skvělá. Ale nechme jí hrám.

Nejen ve hrách, kdekoliv, kde se hodí složitější skriptování aplikací. Tedy pokud nechcete sáhnout po schopnějším JavaScriptu, který má ale mnohem složitější binding.

Ruby je krásná/ý.

Má krásnou filosofii. Které ale IMO mnohem lépe vyhovuje spustitelný pseudokód zvaný Python (tedy až na přetěžování operátorů, to dělal někdo, kdo s tím neměl žádné zkušenosti).
Název: Re:Skriptovacie jazyky
Přispěvatel: KapitánRUM 18. 12. 2011, 12:51:12
2 Sten

Říkám, neútočím na skripty jako takové, ale na jejich nevhodné použití.
Tedy, že by tazatel měl říct, NA CO TO VLASTNĚ CHCE.

2 Inkvizitor

Otázka je, jestli Ruby (nevím jak Pytlouna) zařadit mezi "opravdové skriptovací jazyky".
Pár programů v Ruby jsem viděl i napsal, napsal jsem jich i dost v C# a jeden používá široká uživatelská základna z celého světa, všichni 2 uživatelé mi pravidelně píšou. Jde o to, že po přidání překladače k Ruby do bytekódu bych mezi C# a Ruby nepoznal.
Jo, Ruby mi přijde čistší.
Název: Re:Skriptovacie jazyky
Přispěvatel: Inkvizitor 18. 12. 2011, 14:07:03
Otázka je, jestli Ruby (nevím jak Pytlouna) zařadit mezi "opravdové skriptovací jazyky".

A jaká je Tvoje definice opravdového skriptovacího jazyka? Já jsem v těchto škatulkách vždycky plaval.
Název: Re:Skriptovacie jazyky
Přispěvatel: KapitánRUM 18. 12. 2011, 18:18:03
2 Inkvizitor

Třeba popis na Wiki je myslím dost zavádějící: http://cs.wikipedia.org/wiki/Skriptovac%C3%AD_jazyk
Tak se podívejme do minulosti.
Skript vznikl jako náhrada dávky.
Skriptovací jazyk by tak měl být dobrý na vyřešení malého konkrétního problému a výsledkem by mělo být 5-50 řádků kódu.
PHP v začátku také fungovalo jako skript, připoj se k DB, získej záznam, zobraz, konec.
JavaScript obsluhoval třeba stisk tlačítka.
LUA řešila nějakou herní akci.
BASH (Shell) například spustí a ukončí program, něco někam zkopíruje, ale umí se připojit i do DB.
To, jestli je skript kompilovaný nebo interpretovaný s tím v zásadě nesouvisí.

Jenže vývoj jde dopředu a rostou tu obři na hliněných nohou.
Ruby je na to (být obr) třeba připravená.
Na LUA už bych se bál stavět velký projekt.
Pytlouna používá(al?) seznam, takže asi funguje.
Ale ničemu v Perlu, co má víc jak 50 řádek už nevěřím ;D

Proto říkám, pokud tazatel přesně nespecifikuje, co chce dělat, tak se přece nedá univerzálně doporučit žádný ani skriptovací jazyk.
Název: Re:Skriptovacie jazyky
Přispěvatel: D.A. Tiger 18. 12. 2011, 19:00:13
Já bych ti doporučil jazyk LUA. Pavel Tišnovský pro roota napsal skvělý seriál podle něhož jsem se tento jazyk učil i já, a začínám jej čím dál víc používat i pro psaní běžných scriptů. Jeho základní forma je  velmi jednoduchá - takže nepotřebuješ moc dokumentace, pro začátek ti bohatě stačí zmiňovaný seriál,  a základní dokumentace, která se instaluje přímo s interpretem (nebo ji lze nalézt i na stránkách projektů). dále je velmi variabilní, s pomocí MetaLua lze dokonce definovat např vlastní operátory, mnoho věcí v jazyce lze nahradit vlastními implementacemi (například rutiny pro načítání modulů a pod), lze ji rozšířit pomocí jazyka C a nebo ji lze poměrně snadno propojit s aplikacemi v C/C++. Myslím, že pokud si trochu zvykneš na některé zvláštnosti jazuka Lua (např na objekty reprezentované asociativními poly, a pod) nebudeš mýt s jeho zvládnutím sebemenší problémy.

Krom Pavlova opravdu vynikajícího seriálu ( http://www.root.cz/serialy/programovaci-jazyk-lua/ ) a základní dokumentace k jazyku Lua ( http://www.lua.org/docs.html ), je perfektním zdrojem jak poučení, tak i hotových příkladů i portál Lua-users wiki ( http://lua-users.org/wiki/ ).

Jinak však nejlepší odpověď na tvou otázku si stejně můžeš dát jen ty sám - prostě zkus a uvidíš ;)
Název: Re:Skriptovacie jazyky
Přispěvatel: martin 18. 12. 2011, 19:49:00
To, jestli je skript kompilovaný nebo interpretovaný s tím v zásadě nesouvisí.

Existuje něco jako posunutí významu příp. zůžení nebo rozšíření. S tím nic nenaděláte.

Citace
Jenže vývoj jde dopředu a rostou tu obři na hliněných nohou.

Co kvalifikuje jazyk na obra?
Název: Re:Skriptovacie jazyky
Přispěvatel: KapitánRUM 18. 12. 2011, 20:54:55
Jazyky nejsou problém, problém je jejich užití.

Například mi vadí, když stránka používá Jquery, Prototype, ExJS i MooTools a ještě další kraviny k tomu, aby se vůbec mohla zobrazit. Není nic divného, kdy velikost JS kódu zabírá přes půl mega. Koukněte se třeba na http://pctuning.tyden.cz/ velikost JS kódu je 800 KB (ne všechno je označeno .js ale je to JS)! Jak dlouho Vám zabere opravdu dobře prostudovat 800KB zdrojáku? A kolik % toho kódu řeší problémy jazyka a kolik % opravdu něco smysluplného dělá? Ale ano, na kopání díry není nutné použít zrovna rýč nebo bagr, holou rukou to jde taky a hodně lidem to určitě nevadí. Mě to přijde blbé. No, klidně se mi divte.

Spammassasin mi přišel taky jako slušný moloch, pravda, delší dobu jsem ho neviděl (ale vůbec se mi nestýská).

Název: Re:Skriptovacie jazyky
Přispěvatel: nick 18. 12. 2011, 22:02:48
KapitánRUM: A to jako posuzuješ podle ocasů, co kvůli jedný dvouřádkový funkci linkujou celou knihovnu a na každou chujovinu mají dva pluginy? To jsou prostě lepiči. Stejní tragédi se najdou úplně všude - nevím, proč ti to tak vadí zrovna tady. I když třeba nedávno tady byla anketa, kde se autor upřímně podivoval nad lidmi, kteří si většinu věcí píšou na míru, místo aby vzali hroudu kódu a "nějak to tam namrdali". Tak si vyber :-D.
Název: Re:Skriptovacie jazyky
Přispěvatel: Inkvizitor 19. 12. 2011, 00:42:47
2 Inkvizitor

Třeba popis na Wiki je myslím dost zavádějící: http://cs.wikipedia.org/wiki/Skriptovac%C3%AD_jazyk
Tak se podívejme do minulosti.
Skript vznikl jako náhrada dávky.
Skriptovací jazyk by tak měl být dobrý na vyřešení malého konkrétního problému a výsledkem by mělo být 5-50 řádků kódu.
PHP v začátku také fungovalo jako skript, připoj se k DB, získej záznam, zobraz, konec.
JavaScript obsluhoval třeba stisk tlačítka.
LUA řešila nějakou herní akci.
BASH (Shell) například spustí a ukončí program, něco někam zkopíruje, ale umí se připojit i do DB.
To, jestli je skript kompilovaný nebo interpretovaný s tím v zásadě nesouvisí.

Jenže vývoj jde dopředu a rostou tu obři na hliněných nohou.
Ruby je na to (být obr) třeba připravená.
Na LUA už bych se bál stavět velký projekt.
Pytlouna používá(al?) seznam, takže asi funguje.
Ale ničemu v Perlu, co má víc jak 50 řádek už nevěřím ;D

Proto říkám, pokud tazatel přesně nespecifikuje, co chce dělat, tak se přece nedá univerzálně doporučit žádný ani skriptovací jazyk.

Jo, skript jako náhrada dávky, to dává smysl. Pytlouna používá Google od samého začátku, kromě Seznamu ho používá (používalo?) i Centrum a u třeba nás ve firmě na něm stojí většina produktů. Ty produkty mají moře moc řádek a vývoj šel relativně rychle od ruky, aniž bychom měli závažnější problémy třeba s rozšiřitelností nebo stabilitou a výkon je v pohodě. Vím i o poměrně velkých projektech v Perlu, které taky fungují v pohodě, ale osobně bych na něm stavět nechtěl. Například kvůli absenci formálních parametrů a vůbec dost odporné syntaxi. Neříkám, že na Perlu není nic dobrého, ale na větší projekty je IMO dost nešikovný.
Název: Re:Skriptovacie jazyky
Přispěvatel: KapitánRUM 19. 12. 2011, 01:07:49
S tou dávkou to asi nebylo moc šikovné přirovnání, přesto někde tady lze hledat počátky skriptů.
Jak přestala dávka příkazů stačit (jako první je asi zajímal návratový kód, jestli operace dopadla dobře), autoři hledali možnosti, co s tím udělat a úplně v prvopočátku se jednalo o spouštění a ukončování programů, importy/exporty, překlady a podobné činnosti.
Šup a byl tu lepší SHELL, pak i BASH. "Moderní" skriptovací jazyky jako LUA(skripty uvnitř her), PHP(pokus o pár řádcích kódu, které trochu oživí stránku) a JS(podobně), to už je moderní záležitost řekněme posledních 15 let. Silně pochybuji, že autoři řady skriptovacích jazyků vůbec kdy počítali s tím, že se v tom budou někdy dělat nějaké rozsáhlejší programy.

A pak tu jsou věci jako RUBY a (ta Vaše věc), skoro si myslím, že si ani nezaslouží tak "hanlivé označení" jako skriptovací jazyk, a určitě ne, pokud si ho nezaslouží ani Basic.
Název: Re:Skriptovacie jazyky: Perl, Python nebo Lua?
Přispěvatel: smoofy 19. 12. 2011, 11:37:49
Rekl bych, ze hlavnim ucelem skriptovacich jazyku je rychlost a jednoduchost implementace, za cenu nizsi rychlosti vysledneho kodu tam, kde nas nejakej ten cas navic nezabije. Python se velice dobre hodi na praci s rozsahlymi texti a vetsina lidi co znam, tak od PERLu vylozene odrazuji. LUA se ukazuje jako pomerne mocny a uzitecny nastroj a pouziva ji cim dal tim vice UNIXovych aplikaci jako skriptovaci jazyk pro konfiguraky. Osobne se ucim v pythonu a je to velice mocny a zajimavy nastroj pro vetsinu bezneho rychleho pouziti a s pouzitim interaktivniho shellu je to takovej "svycarak" se kterym s pouzitim tech spravnych knihoven dokazete temer cokoliv. Ruby a Lisp nemuzu soudit pac ty jsem videl pouze ze shinkansenu.

Ve finale opravdu nejvice zalezi na tom k cemu chces jazyk pouzivat. Pro praci s rozsahlymi texty jsou jazyky jako C/C++ etc nevhodne, na druhou stranu, velky projekty zase nejsou uplne domenou skriptovacich jazyku.
Název: Re:Skriptovacie jazyky: Perl, Python nebo Lua?
Přispěvatel: Mordae 19. 12. 2011, 12:43:44
Padl tu ten lisp a ja si taky prisadim. Zkus Racket (http://racket-lang.org/)...
Název: Re:Skriptovacie jazyky: Perl, Python nebo Lua?
Přispěvatel: andy 19. 12. 2011, 17:01:08
S tym, ze python pouziva google by som sa neohanal. Ak si zoberes akykolvek trosku znamejsi jazyk tak zistis, ze ho pouziva na nieco google.. Napr. aj tu lua-u. Uz som v inom vlakne spominal, ze Lua sa pouziva aj v Adobe Lightroom na skriptovanie UI a je na to velmi vhodna si myslim, len to treba mat aj dobre vymyslene. Lenze to plati aj pre ine skriptovacie jazyky.
Moj pohlad na vec:
perl -hovori sa, ze je to jazyk na spracovanie textu a pritom by mal aj ostat..zeby mal nieco s perlami sa neda povedat :). Myslim, ze zoznam maval v tom email.

python - taky univerzal aj na vacsie projekty, pomaly ale robustny, velka vyhoda - dostupnost kniznic. Mas to na google apps, ale google apps s novym tarifom nie su moc zaujimave. Sice ho poznam len tak z rychlika, ale volil by som python.

javascript - mas to v kazdom prehliadaci, existuje node.js, co je webserver nad V8 pre javascript (celkom vykonny). Ak si uz programoval, tak zaklad sa naucis bez problemov za par dni.

lua - robis aplikaciu v C/C++? Zda sa ti, ze je blbost pisat GUI (event handlery atd) v C/C++? Potom siahni po tomto. Maly ale vykonny :) (interpreter je fakt superrychly). Ako vacsina spominanych jazykov nepodporuje multithreading, ale ma coroutines (cooperativny multitasking, da sa s tym vselico :) ). Da sa to vystavat tak, ze ti odpada rekompilacia pri kazdej prkotine (nieco ako interaktivne programovanie). Existuje LuaJIT - rychlost je na niektorych testoch na urovni C, ale zda sa mi, ze nie je 100% stabilny. Nevyhoda - nizsia rozsirenost, aj ked rozsah kniznic je celkom dobry, chybaju "killer apps" (ale pouziva sa v mnohych hrach bez toho aby si o tom vedel).
Název: Re:Skriptovacie jazyky: Perl, Python nebo Lua?
Přispěvatel: ehm 19. 12. 2011, 17:33:02
grow up. learn java
Název: Re:Skriptovacie jazyky: Perl, Python nebo Lua?
Přispěvatel: stewe 19. 12. 2011, 19:03:22
asi to bude offtopic ale kazdy programator by mal vediet z kazdeho trochu, neda sa existovat len s jednym jazykom. kolko jazykov vies, tolkokrat si programatorom :)

na oop by som zobral javu alebo c#, ktore, to je vlastne jedno, ja skor preferujem javu ale c# tiez by som chcel vediet
na skripty zober jeden tazkotonazny a jeden lahky, napr. pyton alebo perl + lua
s funkcionalnych zober haskell
na web sa nauc nejaky framework, ror ...

osol to s postgresql, trochu prichucni k systemovemu programovaniu v c a o robotu mas postarane ...

nic ine netreba len sa peknych par rokov venovat tymto jazykom

samozrejme, treba mat vseobecny prehlad, aby clovek aspon tusil co ktory jazyk robi, prolog, scala, aspectj ... vzhladom na to, ze imho cim dalej tym viac bude nastupovat funkcionalne programovanie spojene s objektovym tak by som sa zameral na tuto oblast, skripty sa vzdy budu dat nejako zbastlit ;)
Název: Re:Skriptovacie jazyky: Perl, Python nebo Lua?
Přispěvatel: Inkvizitor 19. 12. 2011, 21:30:46
Andy, moje poznámka o Pythonu v Google neměla znamenat, že ostatní jazyky se tam nepoužívají (nebo dokonce nedají použít), ale byla to reakce na Kapitánovu poznámku. Python měl svoje významné místo v Google od samého začátku a jaký je tam poměr teď, je samozřejmě otázka. Viz třeba:

http://panela.blog-city.com/python_at_google_greg_stein__sdforum.htm
http://digg.com/news/story/YouTube_is_almost_entirely_written_in_Python
Název: Re:Skriptovacie jazyky: Perl, Python nebo Lua?
Přispěvatel: Sten 19. 12. 2011, 21:34:24
grow up. learn java

A odkdy je Java skriptovací jazyk?

Btw. Java is for children who need guidance and supervision at every step. Grow up. Think for yourself. And learn some real programming language.
Název: Re:Skriptovacie jazyky: Perl, Python nebo Lua?
Přispěvatel: Jelen 19. 12. 2011, 22:24:37
IMHO se tady zapomíná na to, že tazatel se chce především naučit programovat. Odkážu tě na dřívější příspěvek zde na rootu, který podle mého prospěje každému, kdo začíná s programováním:
Podle mě je stejně důležité, jako se naučit programovat, naučit se neprogramovat. Základem by mělo být vždycky vyřešení konkrétní úlohy a to může být nejrychlejší v tabulkovém procesoru, v databázi typu Access, v nějakém programu pro statistiku atd. Tedy zvládnout doménu, ve které se úloha nachází, porozumět zadání a korektně vyřešit úlohu v nejkratším možném čase. Pochopit význam Parettova pravidla a nesnažit se v řešení jít dál, než je nutné. Troufám si tvrdit, že není špatné začít zrovna tady.

Další úrovní je pak logicky naučit se jazyk, který má dostatečně velkou abstrakci a velkou zásobu standardních knihoven. Navrhoval jsem Python, ale existují i jiné alternativy (třeba Ruby). V takovém jazyce je možné snadno vyřešit spoustu úkolů bez velké námahy a bez vynalézání kola.

Pokračoval bych algoritmizací - naučit se základní algoritmy (řazení, binární vyhledávání, procházení do šířky a do hloubky) a porozumět datovým strukturám typu strom nebo hash. Naučit se základy OOP a pochopit jeho výhody i nevýhody. Zde je možné pokračovat v Pythonu (Ruby...) nebo zkusit třeba Scalu, Javu, C#. Statické jazyky vedou k lepšímu pochopení úlohy typů, parametrizace, variance apod.

Další krok je naučit se teorii složitosti (Amdahlův zákon), základy vícevláknového / víceprocesového programování (synchronizace, komunikace apod.) a zjistit, že existují úlohy, které jsou paralelizovatelné a úlohy, u nichž dominuje sekvenční složka.

Naučit se SQL, vztahy mezi tabulkami, normální formy, pochopit význam indexů, případně si něco zjistit o relační algebře. Nastudovat si význam a použití uložených procedur.

Teprve pak bych doporučoval nořit se hlouběji do operačního systému, naučit se C a případně C++, pochopit, jakým způsobem se alokuje paměť, naučit se pointerovou aritmetiku atd.

Co zbývá? Exkurze do jiných paradigmat (funkcionální a logické programování), ASM, textové algoritmy, základy konstrukce kompilátorů atd. atp.

Samozřejmě lze jít i jinou cestou - začít si programovat milion šestý grafický nebo textový editor v C, udělat si framework, který už existuje (a pravděpodobně je daleko lepší, než ten, který si člověk bez dostatečných zkušeností a s omezeným časem udělá sám a i tato cesta člověka mnohé naučí. Osobně doporučuju jít obecně "odshora dolů" a ne naopak. Ale to je na každém.

Abych odpověděl konkrétně na tvoji otázku, tak já si myslím, že je úplně jedno, který z těch tří jazyků si vybereš. Všechny fungují a na jazyk, který ti sedí nejvíc, si přijdeš stejně až časem sám. Pro někoho je to nízkoúrovňové C pro programování embeded systémů, pro jiného c++ s OpenGL pro 3D grafiku nebo Java pro distribuované bankovní systémy.
Název: Re:Skriptovacie jazyky: Perl, Python nebo Lua?
Přispěvatel: JS 20. 12. 2011, 09:26:44
Nic proti te Inkvizitorove rade, souhlasim s ni, ale myslim, ze je vhodna pro nekoho, kdo je pevne rozhodnuty stat se profesionalnim programatorem.

Ale programovani je uzitecne i pro lidi, kteri se zabyvaji i jinym oborem (skoro bych rekl, ze je uzitecne pro kazdeho). A takovym bych doporucil Python a na ostatni se zatim vykaslat. Neni to matematicky nejelegantnejsi a nejuniverzalnejsi jazyk pod sluncem, ale dobre se cte, ma spoustu knihoven a je snadne se ho naucit. A ma siroke spektrum pouziti, a da se snadno rozsirit z C. Da se v nem take spousta veci skriptovat (treba MS Office nebo OpenOffice, pokud vas zajima pocitacova grafika tak Blender..).