Portál AbcLinuxu, 28. května 2024 16:29

Výběr skriptovacího jazyka

29.9.2006 01:16 | Přečteno: 1674× | pro temnou strunu

Jak už to tak bývá, v běžném životě běžného programátora občas přijde zlomový okamžik, kterého se začasté sborově děsíme; u některých z nás je takových hned několik. Já jeden zažil před pár dny – potřeboval jsem napsat jednoduchý jednoúčelový skriptík a rozhodl se konečně přestat na takové úlohy používat běžné programovací jazyky a vybrat si nějakou skriptovačku. Ideálně takovou, od které bych nemusel hned utéct. Předesílám, že tyto dvě kategorie jistě mají neprázdný průnik; to jen co prevence komentářů, které by mne na tento fakt rády upozornily.

Programovací jazyky mne sice docela berou, takže něco málo o kandidátech jsem věděl, ale výběr byl nakonec stejně více méně věcí intuice. Od tohoto zápisku si tedy mimo jiné slibuji, že mne někdo znalý věci třeba trochu postrčí, eventuelně mne pošle nehorázně kamsi, co za bludy to tu kážu :-) Pojďme na to – sepišme pro každý jazyk pár hlavních výhod a nevýhod. Čistě subjektivně, to dá rozum. A cíl? Jednoduchý a mocný jazyk pro rychlé psaní skriptů, často pracujích s textovým vstupem.

BASH

Perl

Řekněme narovinu, že tyto dva jazyky uvádím spíše pro úplnost a doopravdy jsem nad nimi neuvažoval, jen si na ně vzpomněl. BASH má tu "nevýhodu", že je spíš shellem než skriptovacím jazykem, ale skripty se v něm píší dost často na to, abych jej nevynechal.

Python

Ruby

Celkem jasně jsem zvolil Ruby, i když ani to není to pravé ořechové. Ex post jsem si vzpomněl ještě na PHP, ale to se snad pro tyhle účely ani nepoužívá (i když to jde)… Věřím, že je tu řada uživatelů všech uvedených jazyků, a že zvláště uživatelé těch, které jsem zavrhl (snad pro nedostatek informací?), mi mají co říct. Pokud máte chuť, do toho.

       

Hodnocení: 100 %

        špatnédobré        

Anketa

Jaký používáte skriptovací jazyk?
 (55 %)
 (31 %)
 (46 %)
 (13 %)
 (10 %)
Celkem 125 hlasů

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

David Watzke avatar 29.9.2006 03:00 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Odpovědět | Sbalit | Link | Blokovat | Admin
Bash toho IMHO umí dost.

Jinak já preferuju Bash a Python (ve kterém tedy zatím moc neumím)...
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
David Watzke avatar 29.9.2006 03:03 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Btw, Bash má taky regulární výrazy jako součást jazyka:
[[ "12.123.1234" =~ "^[[:digit:]]*.[[:digit:]]*.[[:digit:]]*$" ]]
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
wake avatar 29.9.2006 08:18 wake | skóre: 30 | blog: wake | Praha
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
jo, jasne. a kdyz napisu demona v bashi, tak ty RE se predkompilujou a pri vyhovnocovani se pak jenom protece automatem, nebo bash pri kazdem narazu na RE preklada RE znova? ;-) a existuje pro apache mod_bash??
Tento příspěvek má hlavičku i patičku!
29.9.2006 08:19 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Hmm ... nehledal se tu jednoduchy skriptovaci jazyk?
When your hammer is C++, everything begins to look like a thumb.
wake avatar 29.9.2006 08:48 wake | skóre: 30 | blog: wake | Praha
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
všechny složité skripty v mládí začínaly jako jednoduché skripty. bashem si zavíráte cestu. proti pythoně níc nemám, krom toho, že ji neumim... ;-) psát skripty v bashi je stejný jako psát weby v PHP. To vás taky dřív či později kousne do prdele, když se nedíváte.
Tento příspěvek má hlavičku i patičku!
29.9.2006 09:09 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Proc reagujes na me? Ja jenom upozornil, ze pokud hledam jednoduchy skriptovaci jazyk, tak neni fer rikat, ze nekompiluje regularni vyrazy, nebo nema modul do apache, bo to jednoduchy jazyk mit nemusi.

No a pokud nekdo chce psat neco vetsiho v shellu, ja masochista, ale to je predevsim jeho problem :-D. Ovsem tam je velice jednoduche postupne prepisovat urcite casti do jineho jazyka a spoustet je jako externi programy, takze tak hrozne to taky neni.
When your hammer is C++, everything begins to look like a thumb.
29.9.2006 09:40 petr
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Buďte v klidu. BASH si skript taky překládá do bytecodu... Ten jazyk (syntax) je natolik složitý, že parsovací algoritmus by byl moc časově náročný. Nějakej parametr dokáže tyhle binární struktury (bytecode) v human-readable formě vypsat...
29.9.2006 10:08 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Tak to zní fakt zajímavě. Prosím o příklad. ;-)
Mikos avatar 29.9.2006 14:20 Mikos | skóre: 34 | blog: Jaderný blog | Praha
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Na tom psát weby v PHP není nic špatného, pokud člověk není prase. PHP je pro web vskutku silný jazyk a existují pro něj i kvalitní MVC frameworky (CakePHP, Code Igniter, Symfony... každý si vybere, podle toho jakou složitost chce a jaký přístup se mu líbí ;-)).

Jediná nevýhoda PHP je, že nezapře svoje Perlovské kořeny a je často docela nekonzistentní. Ale pořád dělám skokrát raději v PHP než v Perlu (i když od té doby co dělám v Pythonu je to PHP občas utrpení, člověk se Pythonem hrozně zmlsá ;-)).
CETERUM CENSEO DRM ESSE DELENDAM Ostatně soudím, že DRM musí být zničeno!
29.9.2006 17:14 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Vsadim se, ze kdyby Python byl zenska, uz by jste meli deti v puberte :-P
David Watzke avatar 29.9.2006 10:00 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
cgi-bin ;-)
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
Mikos avatar 29.9.2006 14:25 Mikos | skóre: 34 | blog: Jaderný blog | Praha
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
A víš ty jak je CGI pomalé? Jediné řešení je FastCGI :-) Což tedy spolu se SuEXECem může plnohodnotně nahradit moduly apache jako mod_php, mod_python, atp. A je to lepší a bezpečnější než moduly pro Apache, jelikož i na virtuálním hostingu pak nemusí PHP běžet v safe módu (skripty se totiž spouští pod konkrétním uživatelem) a navíc nevznikají problémy s threadováním. Mrzí mě že většina virtuálních hostingů používá mod_php místo FastCGI :-(
CETERUM CENSEO DRM ESSE DELENDAM Ostatně soudím, že DRM musí být zničeno!
David Watzke avatar 29.9.2006 15:12 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
A víš ty jak je CGI pomalé?
To netuším, ještě jsem to nikdy nepoužil.
Jediné řešení je FastCGI :-)
Když to říkáš, patrně to tak bude :-)
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
Mikos avatar 29.9.2006 06:16 Mikos | skóre: 34 | blog: Jaderný blog | Praha
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Odpovědět | Sbalit | Link | Blokovat | Admin
To že jsou bílé znaky významové (2D syntaxe) považuji naopak za jednu z největších výhod Pythonu ;-) Ale každému co jeho jest, Ruby je taky dobrý jazyk... Sem hlavně rád že si zavrhl Perl :-)
CETERUM CENSEO DRM ESSE DELENDAM Ostatně soudím, že DRM musí být zničeno!
29.9.2006 08:29 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
ad vyznamove biele znaky: ako je vyhodnocovany \t ?
zoberme si priklad dvoch vyvojarov, obaja pracuju na tom istom projekte, pouzivaju \t na indentaciu, jeden ma nastavene tabsize 4, druhy 8. T.j, 10 medzier u jednoho je "\t ", u druheho "\t\t ".

ad perl ... neznalost neospravedlnuje :-) Vyhody jazyka su v jeho mantineloch, a tie ma perl riadne daleko.
Btw, odporucam knizku Higher Order Perl: Transforming Programs with Programs a to nielen pre priaznivcov, spominane principy by mal ovladat kazdy, kto si chce vraviet programator.

29.9.2006 09:05 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
OSS vyvojari se na stylu odsazovani dohodnou, komercni to maji narizene ;-)
When your hammer is C++, everything begins to look like a thumb.
29.9.2006 09:12 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
uz ste dakedy hladal chybu vyplyvajucu z nedodrzania dohody?
zatvorkou sa nic pokazit neda a lisp je iba prezatvorkovany :-))
29.9.2006 09:53 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Souhlasim, i pres IndentationError se muze stat, ze to povede k "zajimavych" chybam. Skoda, ze se Python neinspiroval Haskellem.
When your hammer is C++, everything begins to look like a thumb.
Mikos avatar 29.9.2006 14:34 Mikos | skóre: 34 | blog: Jaderný blog | Praha
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
V Pythonu je konvencí odsazování pomocí 4 mezer (viz PEP 8 -- Style Guide for Python Code), nikoliv pomocí tabulátorů. A veškeré Pythonní programy, s kterými jsem se kdy setkal, tuto konvenci vždy dodržovaly.

To že je Python závislý na počtu bílých znaků má právě obrovskou výhodu v tom, že prakticky veškerý kód v Pythonu vypadá stejně (a to nanejvýš přehledně), snad všichni pythonýři mají vynikající štábní kulturu. Tedy né že by nemohl v Pythonu existovat programátor-prase, ale má existenci vysoce stíženou, takže pravděpodobně radši přejde na Perl :-)
CETERUM CENSEO DRM ESSE DELENDAM Ostatně soudím, že DRM musí být zničeno!
Mikos avatar 29.9.2006 14:35 Mikos | skóre: 34 | blog: Jaderný blog | Praha
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Eh, měla to být reakce na ten příspěvek happy barneyho, nikoliv Michala Vyskočila ;-)
CETERUM CENSEO DRM ESSE DELENDAM Ostatně soudím, že DRM musí být zničeno!
29.9.2006 14:42 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
ja tomu chapem, ale konvencia na to, aby jazyk fungoval, to je blbost. To uz ked "niekto" nechcel rozne sposoby indentacie, tak mohol rovno dat 4 medzery ako povinnost a \t ako syntakticku chybu :-D
29.9.2006 09:44 trocha pravdy | skóre: 3 | blog: nic
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Rekl bych, ze v Pythonu se tabulatory k odsazovani nepouzivaji a pouzivani mezer je nepsana konvence. Alespon tak to dela vetsina lidi co jsem tak poznal v pythonovskych diskuzich.
30.9.2006 11:25 disorder | blog: weblog
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
koho to zaujima, za mna to robi python-mode ;)
29.9.2006 07:22 trancelius | skóre: 22
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Odpovědět | Sbalit | Link | Blokovat | Admin
Mohl bys zkusit ještě zsh -- syntakticky má nad bashem navrch v několika silných bodech, ale ... je to pořád sh, že :)

jinak Python, dvourozměrná syntaxe a pravý opak mrtvýho vývoje
29.9.2006 08:19 myšák | skóre: 26 | blog: EmentuX | Ostrava
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Odpovědět | Sbalit | Link | Blokovat | Admin

Pro většinu skriptíků používám PERL, tudíž se ode dneška považuji za masochistu. :-D I když je pravda, že v poslední době začínám pokukovat po Pythonu (fakt se to líp čte).

Je nesmírně těžké být idiotem, konkurence je obrovská...
29.9.2006 09:49 petr
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Odpovědět | Sbalit | Link | Blokovat | Admin
Tady jde hlavně o to, na co ty skriptovací jazyky potřebujete. Podle mě je docela blbost se naučit např. bash a pak v tom mastit od build-scriptů až po CGI. Zrovna tak psát v Perlu to, co v bashi.

Já používám bash, grep, sed, awk (nezatracovat -- zatraceně užitečný nástroj!), perl, m4 a pak standardní nástroje jako je find atd. a jsem moc spokojenej.

Jako největší nevýhodu bashe bych viděl to jeho masívní využívání externích programů. Jasně -- na Unixech to nevadí -- tam je vystavení nového procesu extrémně rychlé, ale pod takovým cygwinem na počítači "bez operačního systému" -- to opravdu nejde! Navíc si nejsem jistej, jestli např. Python umí tak elegantně vytvářet, slučovat, přesměrovávat jiné filehandly než STD*.

A buďte rád, že jste zavrhnul PHP. Byl jsem nucenej s tím dělat pod konzolí (a ještě pod Windoze) -- no něco tak neskutečně na hovno jsem ještě nezažil!
wamba avatar 29.9.2006 09:55 wamba | skóre: 38 | blog: wamba
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Odpovědět | Sbalit | Link | Blokovat | Admin
Jiný: newlisp
This would have been so hard to fix when you don't know that there is in fact an easy fix.
29.9.2006 11:03 Bubak | skóre: 16 | blog: Čtvrtá cenová
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Odpovědět | Sbalit | Link | Blokovat | Admin
Samozrejme pouzivam bash (ale spise ve stylu kompatibilnim se sh), z nej volam hooodne casto awk. Obcas sahnu po perlu (to kdyz mi prijde, ze kombince sh a awku uz by byla neudrzitelna:-)). Pokud se jedna o neco, co mi pripada pro reseni temito prostredky slozite, sahnu radeji po nejakem normalnim jazyku (C, C++, dnes i Java).

Dle meho je dulezite vybrat si spravny nastroj pro dany ucel, ne se rozhodnout, od ted pouzivam tohle a nic jineho. To by bylo hrozne omezeni.
... máš jen mrtvou kočku a poškrábanýho jezevčíka ...
29.9.2006 14:06 HS | skóre: 12
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Odpovědět | Sbalit | Link | Blokovat | Admin
Prozatim si vystacim s Bashem. Az me nebude stacit, nebo budu mit volnou chvilku a chut se naucit novy skryptovaci jazyk, sahnu nejspise po Pythonu. Prozatim jsem dost vytizen a na aktivity tohoto typu momentalne doopravdy nemam cas.
parazit
29.9.2006 14:40 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Odpovědět | Sbalit | Link | Blokovat | Admin
btw, nativnou podporou unicode je myslene to, ze identifikatory mozu obsahovat lubovolne unicode znaky oznacene ako pismeno? V pripade perlu sa zapina use utf8;
29.9.2006 16:50 podlesh | skóre: 38 | Freiburg im Breisgau
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Míněna je práce s řetězci. Proto je zmíněna především u Ruby.

Libovolné unicode znaky v použité v identifikátorech, to je sice zajímavé, ale takové... jak bych to řekl... no, nepřekvapuje mě že tato možnost v přívě v perlu perlu nechybí ;-)
29.9.2006 17:13 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Jest tak. Onehdá jsem v jedné semestrálce v Javě použil identifikátory s diakritikou. Chvíli jsem se smál a pak dlouho mlátil hlavou o zeď – v jazyku bez problémů, ale u cmdline nástrojů to dost dře (bylo to na Windows, což asi má jistý vliv)… Od té doby pochopitelně víckrát ne. (Nemluvě o tom, že jsem se taky stačil naučit používat v identifikátorech angličtinu.)
Ještě na tom nejsem tak špatně, abych četl Viewegha.
alblaho avatar 13.10.2006 10:16 alblaho | skóre: 17 | blog: alblog
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Chce to celý systém v utf-8. Tedy žádný feudální debian, ale zloděje Ubuntu.
29.9.2006 20:04 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
ked uz to jazyk akceptuje v syntaxi, nejaky ten retazec (regularny vyraz) v utf8 problem byt nemoze :-D

ja nevravim, ze to vyuzivam, jednoducho i to je jedno z obmedzeni, ktore perl ma dalej ako ostatne jazyky :-)

alblaho avatar 13.10.2006 10:18 alblaho | skóre: 17 | blog: alblog
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Odpovědět | Sbalit | Link | Blokovat | Admin
Udělám podraz a zaštítím se autoritou. Viděl jsem video, kde Martin Fowler říká dvě věty.

"Nejlepší věc na Ruby on Rails je Ruby" "Programoval jsem v Pythonu. Ale potom, co jsem objevil Ruby už jsem v Pythonu nic moc nenaprogramoval".
28.10.2006 09:02 Botanicus
Rozbalit Rozbalit vše Re: Výběr skriptovacího jazyka
Ruby rulezzz, co dodat ;-) J

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.