Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Kniha Začínáme programovat v Ruby on Rails

Framework pro tvorbu webových aplikací zvaný Ruby on Rails je ve světě stále populárnější. Jeho rozšíření u nás donedávna mimo jiné ztěžovala absence dostupné knihy v českém jazyce. Má proto kniha Začínáme programovat v Ruby on Rails od nakladatelství Computer Press šanci vyplnit tuto mezeru?

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Začínáme programovat v Ruby on Rails není původní česká kniha, jde o překlad anglického originálu Beginning Ruby on Rails od Steva Holznera. Kniha si klade za cíl seznámit čtenáře s jazykem Ruby a následně se základy frameworku Ruby on Rails. Je určena pro úplné začátečníky v tomto jazyce a prostředí; autor dokonce v úvodu tvrdí, že čtenář ani nemusí být programátor a stačí mu jen znalost HTML.

Obsah

Po úvodní kapitole zabývající se instalací a zprovozněním Ruby a frameworku Ruby on Rails autor vysvětluje základy jazyka Ruby. Čtenář se seznámí s jeho stavebními prvky (datové typy, výrazy a příkazy, bloky,…) a následně i s objektovým modelem.

Poté se již kniha věnuje Rails. Nejdříve představí kontroléry (v knize zvané „řadiče“) a pohledy, dále pokračuje popisem komponenty Active Record, která slouží ke komunikaci aplikace s databází a mapování záznamů z tabulek na objekty v Ruby. Probráno je i testování, práce se sessions a cookies, filtry, kešování, práce s XML a další trochu pokročilejší témata. Kniha je zakončena popisem práce s AJAXem.

Hodnocení

RoR obálka

Byť se podle obsahu může zdát, že kniha obsahuje vše podstatné pro seznámení s Rails, není tomu tak. Seznam témat totiž není všechno, důležité je i jejich zpracování, a zde má kniha bohužel mnoho slabých míst.

Vše začíná již u popisu instalace Ruby – na Linuxu je totiž doporučena instalace Ruby pomocí kompilace ze zdrojových kódů (!), místo rozumnějšího popisu instalace na vybraných distribucích nebo odkazu na internetové zdroje.

Jazyk Ruby není vůbec zasazen do kontextu vůči jiným jazykům (není řečeno, že jde o dynamický skriptovací jazyk ze stejné rodiny jako PHP, Python a Perl) a není nijak zmíněna filozofie, která tento jazyk doprovází. Zato se v textu vyskytují nic neříkající věty jako „Ruby je jazyk, který pro vás zajistí úplně vše.“ Samotný popis jazyka je velmi povrchní a místy nepřesný či chybný. Samostatnou kapitolou jsou ukázky – autor vůbec nevyužívá možností irb (prostředí, kde je možno psát příkazy Ruby a ty jsou ihned vyhodnocovány) a text knihy je tak plný instrukcí k vytvoření nového souboru, napsání textu do něj a spuštění pomocí interpretu. Kód ukázek je nenápaditý a v některých případech i natolik špatně napsaný (autor například neumí správně negovat – str. 53), že bych se ho nebál poslat na The Daily WTF (ukázky na str. 31 a 55).

Podobně povrchně jako Ruby jsou popsány i Rails. Prakticky nikde není vysvětleno, proč je nějaká součást Rails navržena tak, jak je, čtenář je pouze seznamován s použitím jednotlivých komponent. Toto seznamování navíc probíhá pomocí zdlouhavých ukázek, jejichž kód je mnohdy zbytečně opakován několikrát dokola (pokaždé je v něm zvýrazněno něco jiného) a nekonečně rozvláčně popisován – bez citu pro to, co je téměř zřejmé a co naopak vyžaduje delší zastavení. Pro mě byl tento způsob vysvětlování velmi úmorný a budil ve mě dojem, že autorovi šlo jen o umělé navýšení počtu stránek knihy bez přidání reálného obsahu. Ukázky jsou úrovní opět nepříliš vysoko, mj. i kvůli použitým názvům jednotlivých prvků (kontrolér „hele“ s metodou „tady“ nemá v knize co dělat).

Za jednotlivými kapitolami jsou zařazena cvičení, ta však jen znovu přetřásají, co bylo řečeno dříve, a nenutí čtenáře ponořit se do Rails hlouběji, nebo si snad (nedej Bože!) muset něco samostatně vyzkoumat.

Podstatnou vadou knihy je odbytý popis složitějších částí, jako je například kešování (jedna stránka) a úplná absence mnohých témat nutných pro reálnou práci s Rails (především pokročilejší práce s Active Record, ale také třeba souhrn možností deploymentu Rails s jejich výhodami a nevýhodami).

Nedostatků knihy je mnohem víc, zmínil jsem jen ty nejdůležitější.

Překlad

Již tak nepříliš dobrou úroveň knihy dále snižuje překlad Karla Voráčka. Je odbytý, čiší z něj anglicismy a mnoho pojmů a obratů je přeloženo… řekněme velmi zajímavě. Že je controller přeložen jako „řadič“ je jen trochu neobvyklé, ale nazývat ho „dohlížitelem aplikace“ (str. 19) je příliš. Podobně mají operátory místo priority „přednost“ (str. 35), hash je nazýván „asociační pole“ (str. 41), relační operátory jsou nazývány „podmíněné“ (str. 48) a logický výraz je údajně „stav typu pravda/nepravda“ (str. 48). Výrazy jako „objektově orientovaná věc“ (str. 79), „sebeobsažnější“ (str. 80) a další pak překladu nasazují korunu.

Opět jsem zmínil jen vybrané prohřešky, v knize se jich najde více.

Závěr

Bohužel, knihu nemůžu českým vývojářům, kteří by se chtěli s Ruby on Rails seznámit, doporučit. Napsat dobrou knihu je umění a Steve Holznerovi se to tentokrát nepovedlo (zdá se, že jeho produkce vyniká především kvantitou). Velmi nepovedený překlad do češtiny pak tragédii dovršuje. Škoda.

TIB2012

       

Nejvhodnějším úvodním textem pro zájemce o Rails tak stále zůstává klasická anglická kniha Agile Web Development with Rails. Pokud by se nějaké nakladatelství rozhodlo vydat její kvalitní překlad, byl by to velmi záslužný čin.

Informace o knize

Název: Začínáme programovat v Ruby on Rails
Autor: Steven Holzner
Vazba: brožovaná
ISBN: 978–80–251–1630–2, EAN: 978–80–251–1630–2
Cena: 399 Kč, 599 Sk
Rozsah: 384 stran černobílých

Školení: TCP/IP síť na Linuxu II

V tomto školení prohloubíte svoji znalost síťování na Linuxu a vyzkoušíte si pokročilejší techniky. Školení je určené mimojiné i pro správce poskytovatelských sítí.

  • Průřez technologiemi TCP/IP 
  • Stavba testovací sítě
  • Dynamický routing: OSPFv2 a OSPFv3
  • Bridging, proxy ARP, proxy NDP
  • Různé metody překladu adres
  • NAT traversal v praxi
  • Přepis paketů
  • Tunelování a VPN
  • Troubleshooting, situace z praxe

Podrobnější informace a přihláška 

Ohodnoťte jako ve škole:
Průměrná známka 2,28

Přehled názorů

toz napis kera je lepsi
ultra force 3000 10. 9. 2007 00:22
Nový
├ 
Re: toz napis kera je lepsi
Láďa 10. 9. 2007 08:54
Nový
└ 
Re: toz napis kera je lepsi
polymorpheus 10. 9. 2007 15:11
Nový
řadič
jezevec 10. 9. 2007 07:27
Nový
├ 
Re: řadič
jos 10. 9. 2007 08:20
Nový
└ 
Re: řadič
David Majda 10. 9. 2007 11:19
Nový
 
└ 
Re: řadič
prudic 11. 9. 2007 00:27
Nový
 
 
└ 
Re: řadič
pavel 12. 9. 2007 01:27
Nový
Souhlas
Let_Me_Be 10. 9. 2007 07:37
Nový
└ 
Re: Souhlas
Hraesvelgr Odin 11. 9. 2007 08:40
Nový
 
└ 
Re: Souhlas
mys elf 11. 9. 2007 20:25
Nový
starsi zpusoby
Lukas 10. 9. 2007 08:21
Nový
Preklad
karotka 10. 9. 2007 09:30
Nový
Ruby nebo Python
Pavel 10. 9. 2007 09:52
Nový
├ 
Re: Ruby nebo Python
Pavel Sýkora 10. 9. 2007 10:21
Nový
├ 
Re: Ruby nebo Python
Jan Minárik 10. 9. 2007 14:43
Nový
│
├ 
Re: Ruby nebo Python
polymorpheus 10. 9. 2007 15:24
Nový
│
│
└ 
Re: Ruby nebo Python
Jan Minárik 10. 9. 2007 16:07
Nový
│
│
 
└ 
Re: Ruby nebo Python
polymorpheus 10. 9. 2007 16:22
Nový
│
└ 
Re: Ruby nebo Python
erg 10. 9. 2007 16:28
Nový
│
 
└ 
Re: Ruby nebo Python
Jan Minárik 10. 9. 2007 18:01
Nový
│
 
 
├ 
Re: Ruby nebo Python
erg 10. 9. 2007 18:28
Nový
│
 
 
└ 
Re: Ruby nebo Python
Tomas 10. 9. 2007 23:23
Nový
└ 
Re: Ruby nebo Python
martin 10. 9. 2007 17:16
Nový
 
└ 
Ale no tak
mys elf 10. 9. 2007 23:15
Nový
 
 
└ 
Re: Ale no tak
april-child 10. 9. 2007 23:57
Nový
 
 
 
└ 
Re: Ale no tak
mys elf 11. 9. 2007 20:32
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem