Programuji hlavne v Perlu a souhlasim s tim, ze jeho navrh je dost hrozny (proste to neni jazyk, ktery by si clovek predstavil pod vetou "fakt dobre vymyslena vec", ale spis pod vetou "fakt silna vec"). Zkousel jsem take Python a i kdyz je cistsi, chybi mu sila nekterych Perlovskych konstrukci (zaroven ma nektere veci taky docela pres koleno). Jazyk, ktery mne opravdu uchvatil, ktery ma silu Perlu (spise vetsi) a ktery jsem si vysnil jiz pred nekolika lety je Ruby na adrese http://www.ruby-lang.org/.
Nechci se tady bavit o tom, co je lepsi a co je horsi - kazdy jazyk ma svoje vyhody a nevyhody a kazdy se hodi na neco jineho.
Uz je to davno, co jsem studoval dokumentaci, ale vzpominam si, ze mi vadily napriklad nasledujici veci (neberte to jako kritiku Pythonu, proti jinym jazykum je Python porad bomba):
- nektere datove typy nejsou ciste objekty (numerical, list, dictionary, string, ...) a clovek musi hledat funkce, ktere s nimi pracuji po vsech certech (stejne jako v Perlu)
- nema (nemel) class metody
- tuple a list maji prekryvajici se funkcnost (proc to neni reseno jednim typem???)
- prilis se mi nelibily moduly, ktere python obsahoval
Kdyz uz tu delam tu reklamu na Rubyho, tak se mrknete na
http://www.hypermetrics.com/ruby37.html a
http://www.rubycentral.com/book/ a taky stoji za to kouknout se do zdrojaku (slintal jsem blahem :). Taky si myslim, ze pro zpracovani textu je silnejsi nez Perl (ale o neco pomalejsi). Mrknete se na metody objektu String, Array, File a dalsich.
Musím se připojit: Ruby je skutečně geniální a potěší programátora/estéta.
Ještě reakce na pár dalších poznámek v komentářích: jen namátkou jsem zapátral a na http://www.xs4all.nl/~hipster/lib/ruby/httpd je zdroják web serveru v Ruby (už poměrně slušného).
Dále tady někdo psal, že PHP je hezký jazyk. Myslím, že PHP sice je hezké, ale s mírnou nadsázkou bych ho spíš označil za plný pytel knihoven než za jazyk.
Ja mam Python taky rad a mam pocit, ze jeho navrh je docela cisty a kdyz porovnam treba verzi 2.2 s 1.52, tak vidim, jak se Python rozviji. Konstrukce typu s/mrkev/petrzel/ jsou jiste silne, ale v jazycich pro vseobecne pouziti je nepotrebuji. Ruby me docela zajima, bylo by mozne o nem napsat nejaky clanek, kde byste jej porovnal treba s tim Pythonem?
Uvazoval jsem o tom, ale nejspis by to byla serie clanku pro uplne zacatecniky v programovani. Srovnavani by zbytecne popudilo spoustu lidi a melo by vliv pouze na ty, kteri jdou po kvalite misto kvantite (viz. napr prispevek o CPANu) - tech ani kolem Linuxu neni tolik, jak jsem si drive myslel. Kazdopadne by temto nekolika jedincum melo stacit precist si dokumenty na vyse uvedenych adresach :-).
To cim mluvis (cestina) je taky splacanina bez cistyho navrhu. Chtel bys radsi pouzivat nejakej krasnej cistej ortogonalni jazyk?
Programovaci jazyk neni (nema byt) jazyk vytvoreny pro pocitac, ale pro programatora. Tudiz by mel v ramci moznosti dovolovat aby se programator vyjadroval tak jak mysli. A ne nutit ho myslet jak jak je jedine mozne se vyjadrit. A prave proto, ze kazdy programator mysli trochu jinak tak Perl nabizi vdycky nekolik moznosti jak kod napsat. A nenuti ti tu jedinou spravnou.
A krom toho ... co vsechno ti sezere se da omezit. A to prave natolik jak si TY reknes. Jak kdosi rekl ... Bondage&discipline must be consensual, otherwise it's a rape.