Ruby on Rails: pochybnosti opatrného vedoucího projektů

20. červen 2007, 20:41 Kategorie: Webdesign

Karel Minařík konečně začal psát blog. A rovnou o jedné z horních pozic ve “webdesignové desítce nejžhavějších témat od chvíle, kdy se Jason Fried poprvé připojil k internetu.” Karel píše Karmi is on Rails.

Ruby

Vzpomínám si, kdy jsem naposledy viděl tolik nadšení ve tváři web-technologických kouzelníků jako teď předvádí programátoři po shlédnutí pár videí s demonstracemi Ruby on Rails (RoR). Bylo to před pár lety, kdy do webdesignu vstoupily standardy a CSS. V roce 2002 jsem patřil k těm nadšeným a možná i některým technologiím dobře rozuměl.

Dnes jsem v malé webdesignové firmě zodpovědný za projekty, termíny a trochu i peníze, a jakkoliv můžu nadšení programátorů pro RoR chápat, z pohledu projektů mám zatím u Ruby malé pochybnosti. Třeba mi je vyvrátíte.

1) Co vlastně našim projektům Ruby on Rails přinese?

Ušetří čas? Není to stejné jako když spolupracujeme se šikovným programátorem, který zvládá dobrý PHP framework a nedělá věci dvakrát? Zlepší naše pracovní postupy?

2) Není Ruby on Rails v Česku nedonošeným dítětem?

Že je tu jen pár hostingů, to by mi nevadilo, ale kolik lidí tady Ruby dělá? Nebudu nahraný, když spolupracovník onemocní? Nebudu se muset učit programovat v Ruby sám? :-)

Co myslíte, Karle a ostatní, nepřevládají v nasazení Ruby on Rails (zatím) nevýhody? Není při rozhodování o jeho použití na konkrétních projektech lepší ještě počkat?

Ulož do delicious, linkuj.cz, jagg.cz, vybrali.sme.sk Díky!

Diskuze

[ RSS této diskuze ]

  1. David Majda, 20. 06. 07, 22:14, #

    ad 1) Časovou úsporu těžko posoudit bez srovnání konkrétních projektů. Nepodceňoval bych ale faktor psychologický – práce s RoR je mnohem menší “otrava” než s PHP (natož pak třeba s Javou) a to se určitě projeví na morálce programátorů.

    ad 2) Ano, lidí, co dělají v Ruby, je málo. Ale jsou to ti z vývojářů, kteří se zajímají o nové věci, zkoumají, jdou za elegancí kódu, atd. Velmi pravděpodobně ti nejlepší. Pokud přijmeme tezi, že rozdíly v produktivitě vývojářů jsou mnohem větší než rozdíly v jejich platech, velmi se vyplatí takové lidi zaměstnat.

    Jinak řečeno, Ruby/RoR může sloužit jako dobrý filtr schopných lidí... aspoň do doby, než se ho naučí každý šmudla, jako dnes PHP :-)

    Disclaimer: Weby dnes programuju hlavně v PHP, ale zajímám se o Ruby a RoR a momentálně čekám na vhodný projekt, kde bych RoR zkusil nasadit.

  2. Japan, 20. 06. 07, 22:16, #

    Domnívám se, že Ruby programátorů je u nás ještě míň než Python programátorů... a to u nás sháníme Pythonistu už asi dva měsíce. Takže ano, až kolega onemocní, zcela jistě budeš nahraný.

    Co RoR přináší? Nic odlišného oproti Djangu, CakePHP či CodeIgniter… je to prostě další MVC, s tím rozdílem že je kolem něj velké haló a hodně silná komunita, proto je o něm slyšet.

  3. Ivan, 20. 06. 07, 22:44, #

    Ruby je fajn. RoR je nedonoseny. Komunita nie je silna a komunitna podpora je este slabsia, problem je ze Jason Fried a spol, su obratni manipulatori … su to majstri propagacie, alebo ak chcete buzz.

  4. dgx, 21. 06. 07, 01:44, #

    Dnes je Ruby hype, jeho skutečné kvality prověří až čas. Pokud jsi zodpovědný za “projekty, termíny a trochu i peníze”, nech onen čas (a nadšence) pracovat ve svůj prospěch a rozhodni se až za pár let. Ale to se dá říct obecně, že? Nejprve nechat vyřádit nadšence a pak nechat rozhodovat zodpovědné.

    (mimochodem, framework, ve kterém udělám za 15 minut blog, nemusí být vůbec dobrý framework. Wow-efekt je mnohdy v rozporu s praxí)

  5. Michal Illich, 21. 06. 07, 09:16, #

    Omlouvam se za reklamu, jen rychle: prijmeme programatora v Ruby – idealne fulltime, ale mozna je i castecna ci prazdninova prace. Jde o spolecny projekt firmy Jyxo a CVUT.

  6. Filosof, 21. 06. 07, 09:42, #

    Jup – přesně proto děláme vše v PHP – dobrého PHPčkáře abys pohledal, ale JE plusminus nahraditelný. Dobrý RoRista nahraditelný není :/

    Ale na druhou stranu mi články na Karmi is on Rails přijdou fajn a přínosné :)

  7. jan, 21. 06. 07, 09:51, #

    Proc se omezujete vyberem spolupracovniku na lokalni trh?
    A cekat par let? Preju vice odvahy.

  8. Martin Michálek, 21. 06. 07, 10:05, #

    Davide (1), nemyslím, že programátoři Ruby jsou pravděpodobně ti nejlepší. Mohou to být taky trendy týpci, kteří jdou s módou a čtou Signal vs. Noise. Nebo chachaři, co ví, že Ruby je od slova “rubat”.

    dgx (4), já nejsem v nějaké časové tísni a vlastně o použivání RoR nebo čehokoliv jiného ani rozhodovat nechci. Od toho hledáme třetího mušketýra. Hledám spíš mě skryté přínosy RoR mimo samotné programování.

    Michale (5), nevadí. Určitě dáte prostor i našemu personálním inzerátu na blog.cz… ;-)

  9. Martin Michálek, 21. 06. 07, 10:12, #

    Jane (7), spolupracovníka můžu hledat kdekoliv mi to umožní komunikační možnosti. Klidně na Jupiteru. Problém ale nastane, když se ten rozhodne odejít a budu hledat náhradu. Jaká je záruka, že za rok Ruby nebude považováno za překonanou mezifázi k nějakému parádnímu frameworku, na které si pár lidí dost ulítávalo? Proto ta moje dnešní rezervovanost.

  10. Leondegrance, 21. 06. 07, 12:47, #

    Já vám nevím, ale takoví 37signals (například) si zřejmě myslí, že nevýhody v nasazení nepřevládají a čekáním se nezdržují. Asi mají nějaké důvody, ne?

  11. David Majda, 21. 06. 07, 13:36, #

    [8] Jasně, není to 100% neprůstřelné kritérium a není jediné. Myslím si ale, že průměrná úroveň lidí, co se přihlásí na inzerát “hledám programátora v Ruby/RoR” bude vyšší než u inzerátu “hladám programátora v PHP”.

    Myšlenka to BTW není moje: http://www.paulgraham.com/pypar.html

    Ještě k nahraditelnosti lidí: Naučit se Ruby ani RoR není těžké. Vážně je takový problém při odchodu člověka hodit před nějakého stávajícího zaměstnance knížku o RoR s větou “máš 14 dní na to se naučit v tom dělat?”

    (Ano, vím, za 14 dní se člověk jazyk ani framework do hloubky opravu nenaučí (to trvá měsíce až roky). Ale pokud je schopný, naučí se ho dostatečně na to, aby mohl po někom převzít aplikace a udržovat/rozšiřovat je a posléze je začít i sám psát.)

  12. vol0da, 21. 06. 07, 17:12, #

    Ako uz bolo napisane, ci bude Ruby a RoR uspesne ukaze az cas. Myslim vsak, ze su zatial na dobrej ceste. Svedci o tom aj mnozstvo autorit z oblasti vyvoja softveru, ktory sa pripajaju k nadsencom a zastancom Ruby a RoR.

    A co moze prechod priniest ? Ako aj Karmi pise vo svojom blogu. Ruby je jazyk v ktorom je radost programovat a robi programovanie radostnym a zabavnym. A ktory programator bude efektivnejsi? Ten ktoreho praca bavi a tesi, alebo ten co rozmysla ako obchadzat obmedzenia jazyka :-).

  13. karmi, 24. 06. 07, 16:56, #

    No samozřejmě díky za přihrávku!! :) Hezky už některé věci shrnul zvláště David Majda.

    Odpovědi na obě otázky mohou osvětlit zase něco dalšího o Rails, takže si připisuju do seznamu Napsat tyhle články na blog položku „Co mi může přinést Ruby on Rails aneb Rails z pohledu projektového manažera“, protože tuhle oblast (někdy ke svému značnému zoufalství) taky dost dobře znám z denní praxe. :)

    Takže to zkusím zpracovat nějak obsáhleji, než je možné v rámci komentáře…

    Karel

  14. Martin Michálek, 24. 06. 07, 22:55, #

    Karmi, už se těším. :)

    Všiml jsem si v komentářích i v článcích nadšených Railistů ještě jednoho opakujícího se argumentu: RoR je dobrá volba protože jej používá blablabla… (dosadit si můžete 37signals, či jiné “uznávané celebrity”). Mno, víte, to je jako napsat, že Windows jsou dobrý systém, protože jej používá Bill Gates. RoR pro mě bude dobrý framework, jakmile zjistím, co přinese našim projektům.

    Ve čtvrtek jel o sedačku za mnou do Ostravy v pendolinu Jamis Buck právě z 37signals. A to je dokument mého pobláznění z celebrit okolo RoR: zatímco Jamis jel na Ostrava on Rails přesvědčovat Čechy, my jeli na hory :)

  15. Filip, 25. 06. 07, 08:46, #

    Spoustu odpovědí už dali předešlí komentátoři, takže si jenom přisadím:

    Jsem odchovancem programovacího jazyka C, přesto jsem na ruby dokázal přejít během měsíce. Po tom měsíci občasného laškování s ruby jsem naprogramoval svoje visible.cz, což možná není výkvět webových aplikací, ale běhá krásně a když potřebuji něco doplnit (nedávno plný RSS export), zabere mi to desítky minut (!). V PHP (v tom také občas naprogramuji nějakou tu microsite, takže můžu porovnávat) by mi to samé trvalo mnohem déle.

    Dle mého názoru se v ruby opravdu programuje lépe než třeba v PHP. A už to je dobrý důvod nad RoR vážně uvažovat. (Kolik lidí dnes programuje v perlu?)

    Jenom bych nerad, aby lidé RoR a priori zahazovali jako hype. Ano, je kolem nich hodně křiku, a ano, zatím vyžaduje trochu odvahy dělat v nich velký komerční projekt, ale je to velmi, velmi kvalitní framework. Já na něj sázím tím, že svůj příští (nemalý a komerční) projekt dělám v Rails. Jestli se spálím, dám vědět :)

  16. Leondegrance, 25. 06. 07, 15:12, #

    Tak s tím Gatesem a celebritami jsem to nějak nepochopil.

    Já kašlu na to jestli jsou 37signals nějaká celebrita, ale prostě v Ruby vytvořili několik nástrojů a ty nástroje používá nemalé množství lidí. To je podle mne regulérní argument ve prospěch Ruby.

    Nezajímá mne co si o Windows myslí Gates, ale jeho uživatelé. To je taky trochu rozdíl, ne?

  17. Leondegrance, 25. 06. 07, 15:46, #

    Ještě se tedy odkážu na jednu “celebritu” a to komentářem z
    blog.karmi.cz (pevný odkaz jsem u něj nenašel)

    “Co se týče robustnosti ActiveRecord: pro mně bylo a je vodítko to, že Basecamp, Twitter, Shopify, Cork’d nejsou žádné „webíky“, jsou to dost náročné aplikace. A v Rails jsou napsány. To je (pro mně) daleko silnější než nějaká teoretická argumentace”.

    Jen aby bylo jasno kdo v tom vidí celebrity.

  18. Botanicus, 25. 06. 07, 16:32, #

    Rails rozhodně dobrá volba jsou, nepochybuji že x-krat lepsi nez treba PHP a rozhodne to bude na produktivite a zejmena udrzovatelnosti kodu velmi poznat. Poznate to ovsem take na serverech, on ten Mongrel si taky neco te pameti sezere, ale i tak se to porad hodne vyplati. Ostatne prave jsem se vratil z Rails konference a podle toho, co tam ukazoval treba Tobias Lütke bych se opravdu niceho nebal … teda dobre, lidi pisici v Rails, neni jich u nas moc, to jiste omezeni je. Ale to je jednak otazka casu (jak mi vyplynulo z me debaty s Tobiasem a Jamisem Buckem) a jednak opravdu si myslim, ze neexistuje jednodussi jazyk nez je Ruby (principle of least surprise funguje dokonale) a Rails jdou filosoficky presne ve stopach Ruby, takze naucit se Ruby je otazka nekolika dni maximalne tydnu, o Railsech se da rict totez. Samozrejme ze to nebude na uroven guru, ale bude to stacit na to, aby si clovek dal uz pomerne slusne poradil.

  19. David Majda, 26. 06. 07, 16:55, #

    [18] “neexistuje jednodussi jazyk nez je Ruby” – záleží na definici slova “nejjednodušš” :) Pokud je tím míněna srozumitelnost kódu a naučitelnost, troufnul bych si říct, že Python je na tom ještě lépe.

    Ruby má totiž dost zajímavých syntaktických zákoutí, vesměs zdědených z Perlu. Psaní parseru Ruby je malá noční můra (vím, o čem mluvím).

    Knihovny Ruby občas také skrývají zajímavá nedokumentovaná překvapení, stačí se podívat do zdrojáků. Desítky aliasů metod také přehlednosti nepománhají.

    Všichni říkají, jak je Ruby elegantní a hezké. Já souhlasím, ale jen pokud se díváte po povrchu. Uvnitř je docela dost špíny. Bohužel :(

  20. Robert Cigán, 27. 06. 07, 00:06, #

    Panové zkuste si napsat nějaký projektík v Railsech. Já jsem začal psát svůj první docela velký, ale i tak mi to šlo daleko rychleji než třeba v Tapestry/Spring/Hibernate. Pro mě je jediným hlavním kritériem produktivita. Tj. nehodlám strávit kvůli kdejaké maličkosti věčnost u počítače. Tak jak mi říkal Tobi, že jen a pouze díky Railsum dokázali být rychlejší než konkurence. Plně mu věřím. Souhlasím taky s názorem toho, že v současné době schopný Rails programátor bude kvalitnější a výběrovější, neboť k tomu aby se Railsy naučil opravdu dobře musel věnovat tomu mnohem více než PHPčkový programátor. Ne každý má na to talent a málokdo chuť.

    Taky jsme došli k jednoduchému závěru, ve volném překladu asi tak nějak tohle – Abyste ocenili výhodu Railsu, nesmíte začínat programovat v Railsech, jinak nepocítíte tu velkou úlevu při předchodu na Railsy.

    Ohledně pracovních nabídek – doporučuju Javisty, které Railsy velmi potěší.

    Na závěr bych snad ještě dodal, ač je to proti mému presvědčení, čím méně bude firem programujících v Railsech, tím větší výhodu budou mít ty, které v nich programují :)

    Ač nesdílím názory tohoto článku, neznamená to, že nejsou pravdivé. Jsem prostě programátor … ne business man :)

  21. dgx, 13. 07. 07, 04:35, #

    [19] proč chodit kolem horké kaše. Ruby není dobrý jazyk, kombinuje slabiny JavaScriptu a Perlu. Kombinovat kód od více programátorů v jedné aplikaci musí být noční můra.

    Navíc současný interpreter je děsně pomalý, paměťově náročný a konfigurace www serveru je komplikovaná.

    Podle mého úspěch Ruby stojí jedině na Railsech. Ano, Rails jsou velmi efektním i efektivním frameworkem pro tvorbu webových aplikací. Na druhou stranu, spousta firem má dnes vyvinuty vlastní a lepší frameworky. Svůj bych taky za RoR nevyměnil.

    Takže k otázkám v článku:

    1) pokud už úspěšně fungujete na jiné platformě, Rails nejspíš moc nového nenabídnou, respektive nejspíš to nevyváží komplikace spojené se změnou či rozdvojením platformy. Pokud však začínáte od píky, doporučuji se s RoR seznámit.

    2) Naučit se dobře Ruby & Rails je dle mého snažší než naučit se dobře PHP a {nějakýFramework}. Vzhledem k hype kolem RoR tu bude zanedlouho hormada Ruby programátorů.

  22. Kyo, 31. 07. 07, 13:32, #

    [21] Áááá! Už vidím, odkud vítr vane!

    “Jazyk JavaScript (nebo ECMAScript, chcete-li) bývá často kritizován za způsob implementace objektů. Jde totiž o prototypový jazyk, třídy v něm neexistují a dědičnost je nahrazena prototypováním. Což je technika, která vážně porušuje základní principy OOP, jmenovitě třeba zapouzdření. Z toho plynou problémy” ... “Prototypové jazyky se tak hodí pouze na jednoduché skripty, ideálně psané jediným autorem.”

    Je roztomilé, jak snadné je v dnešní době, prolezlé znovuobjevováním kol, zapomenout na historii: http://research.sun.com/self/ – tohle určitě není “jednoduchý skript napsaný jedním autorem”. A že zapouzdření je “základní princip OOP”? Alan Kay by se divil: http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht16Ht/doc_kay_oop_en. Nehledě na to, že C#, který obdivujete, a PHP, které používate, narušují zapouzdření veřejnými atributy objektů o dost hůře, než Ruby a Smalltalk, které veřejné atributy raději vůbec nemají.

Komentáře jsou uzavřeny