"Osobně Ruby považuji za nejintuitivnější jazyk vůbec, což jej předurčuje jako ideální jazyk na učení se programování."
Intuitivní Ruby možná je, ale na výuku programování se mi příliš vhodné nezdá. Především kvůli perlovinám v synatxi i sémantice a možnosti dělat mnoho věcí různými způsoby. První věc začátečníka bude svádět na zcestí, druhá ho bude mást. Jazyk na výuku programování by měl být striktní a jednoznačný, vede to k získání správných návyků - vím sám dobře, jak moc mi v tomto ohledu dal Pascal. Pokud bych měl volit ze skriptovacích jazyků, volil bych Python.
"dokumentace pro Ruby – je ji spoustu a to velmi kvalitní"
Není pravda ani jedno. Neexistuje žádný oficiální popis syntaxe a sémantiky jazyka, jediným vodítkem je knížka Programming Ruby, ale tam není všechno a co tam je, je hodně nepřesné. Například pravidla pro lookup konstant se prakticky nedají najít.
Dokumentace knihoven je pak naprosto zoufalá - popis tříd a metod často chybí, pokud existuje, je vágní, často nejsou popsány vyhazované výjimky, speciální případy, natož pak složitější věci jako třeba "kdy a jak implementovat coercing". Z dokumentace metody bych měl být schopen ji beze zbytku reimplementovat - to bohužel u Ruby nejde, musí se koukat do (ne nějak extra hezky napsaných a prakticky nekomentovaných) zdrojáků. Aspoň že Rails mají dokumentaci o něco slušnější, byť asi nemá třeba na tu k Javě nebo .NETu.
Pokud by jsme mel doporucit scriptovaci jazyk pro zacatecnika, tak AWK. Sice namitnete ze jej jiz nikdo nepouziva, ale presto si dovolim vyzvednout nektere vyhody:
- velmi jednoduchy
- velmi podobny C
- dostupny na kazdem UNIX systemu, existuje i port pro Windows ktery neni reba instalovat (jediny exe soubor)
- dobra podpora zpracovani textu (reguarni vyrazy)
- asociativni pole
Pokud clovek zvladne AWK, muze se presunout na PERL anebo jiny, modernejsi jazyk. Ac byl PERL navrzen jako "zabijak" AWK, jednodussi veci se v AWK pisi znatelne rychleji nez v PERLu; ostatne muzete vyzkouset a2p, "AWK to PERL", vysledny kod vysvetli ze nektere konstrucke jsou v AWK snadnejsi nez v PERLu. Na druhou stranu, AWK ma sve limity. Pokud lze ulohu prevest na "operace s textem", lze AWK pouzit. Vhodny take na rychle prototypovani. Nejcastejsi vyuziti asi jen jako "super grep", pripadne formatovac vystupu.
Mozna by bylo fajn porovnat naprogramovani nejake ulohy v ruznych skriptovacich jazycich. Ted frci hlavolan Eternity2, co treba uloha, ktera se zadanych souboru e2pieces.txt a (e2result.txt (stejny format jako e2hints.txt) spocita skore reseni (treba jako 460/480). Viz http://www.eternity2.net
Programming Ruby jsem v minulosti take vynasel az do nebes, dokud jsem neobjevil The Ruby Way (posledni, myslim ze druhe vydani) a Ruby Cookbook / Rails Coobook (plus Rail Recipes). Silne doporucuji, tyto knihy dokumentuji jazyk Ruby a RoR opravdu velmi dobre
A Ruby on Rails uz je v dnesni dobe zdokumentovano vic nez dobre, mozna, ze i lip nez cele slavne PHP. A spousta novych titulu se chysta, staci mrknout na amazon.
To, jakym spusobem jsou Ruby a RoR dokumentovany IMHO vypovida o tom, ze se s nimi zacina docela dost pocitat plus uz nekolikrat jsem narazil na nazor, ze pry dost perlistu prechazi prave na ruby (asi se jim nechce cekat na Perl6 nebo co)