Ohlédnutí za EURUKO 2008

Minulý víkend jsem se zúčastnil dvoudenní evropské konference o Ruby EURUKO 2008, která se konala v Praze. Průběh konference už celkem hezky shrnul Rober Cigán (1. den, 2. den), já bych k jeho reportáži rád dodal několik vlastních postřehů.

1. den

Z celého prvního dne byla pro mě nejzajímavější hned první přednáška – Keynote – od tvůrce Ruby Yukihira Matsumota (Matze). Zaujalo mě, že Matz působil jako sympatický chlapík a i jeho angličtina se dala kupodivu docela poslouchat. Trochu mě to překvapilo – před časem jsem totiž koukal na videa z některých jeho starších přednášek a na nich působil poněkud zmateně. V Praze během přednášky naopak i vesele vtipkoval (Python třeba označil jako "that nasty snake language"). Zkrátka pohodář :-)

Bohužel jsem ale z jeho přednášky nabyl dojmu, že se nějak nehrne do práce na Ruby 2.0, což by měla být příští verze jazyka obohacená o zajímavé funkce jako namespacované metody, method call hooks, keyword parameters apod. O všech těchto funkcích Matz mluví už poměrně dlouho, ale bohužel jen mluví. A přitom mi přijde, že nejsou příliš těžké na naprogramování.

Být Matzem, skoro bych se bál, že některá z alternativních implementací Ruby s těmito funkcemi přijde dříve než jeho Ruby 2.0. Zatím je ale mezi implemenacemi snaha spíš kooperovat, než se předhánět, a navíc většina z nich má co dělat se zprovozněním funkcí obsažených v Ruby 1.8 a 1.9, takže se nehrnou do vymýšlení funkcí nových.

Následující přednáška Koichiho Sasady (autor YARVu, bajtkódového interpreteru použitého v Ruby 1.9) o výkonnostních optimalizacích Ruby byla zajímavá z technického pohledu, ale zoufale špatně odprezentovaná. Koichi neumí příliš dobře anglicky a navíc nemá dar prezentovat své myšlenky tak, aby byly dobře uchopitelné. Škoda.

Další tři přednášky mě až tak nenadchly, každá z jiného důvodu. Povídání o JRuby přímo od jeho dvou klíčových vývojářů bylo hezké, ale nedověděl jsem se nic důležitého, co bych už z dřívějška nevěděl. Přednáška Per-Object Behavior in Ruby se pro změnu zabývala věcmi, které by každý Rubysta měl vědět, a z tohoto pohledu mi přišla nepříliš přínosná. A ze třetí přednášky, Meta-Meta-Programming with Ruby od Nica Williamse, jsem toho bohužel moc neměl především proto, že angličtině s australským přízvukem jsem místy dost špatně rozuměl. Ale graf objektů/tříd se zamotanými šipkami byl hezký :-)

Následovaly dvě Lightning talks – tedy krátké prezentace zajímavých projektů, které se nevešly do hlavního programu konference. V první z nich byl představen projekt Agile Whiteboard (nástroj pro podporu agilního stylu programování, v podstatě taková jednoduchá elektornická nástěnka s úkoly), ve druhé jsem představil svůj projekt Ruby.PHP.

Ruby.PHP logo Ruby.PHP je kompilátor Ruby do PHP. Píšu ho jako svou diplomovou práci a jeho konečným cílem (který ale nebude v rámci diplomky naplněn) je schopnost zkompilovat aplikaci napsanou v Ruby on Rails do PHP a hostovat ji na libovolném PHP hostingu. To by mělo pomoct především těm, kteří si Rails chtějí vyzkoušet a nechce se jim platit nějaký Rails hosting, když PHP lze mnohde hostovat zdarma. Další výhodou je usnadnění deploymentu aplikace, který je v Rails přeci jen trochu složitější než "zkopíruj a spusť" u PHP.

V tuto chvíli je Ruby.PHP ve fázi intenzivního vývoje, ale už umí kompilovat velkou část syntaxe Ruby a obsahuje implementaci nejdůležitějších funkcí objektové knihovny Ruby (core library). Kompilátor si můžete vyzkoušet online na stránce projektu – do okénka jednoduše napište úryvek kódu v Ruby a uvidíte výsledný kód v PHP a jeho výstup.

Pokud si najdu chvilku, napíšu toho o Ruby.PHP v brzké době víc. Zatím se můžete podívat na slajdy z mé prezentace.

Po mé krátké přednášce následoval videochat s Davidem Heinemeierem Hanssonem, tvůrcem Ruby on Rails. Celý projev měl téměř náboženský nádech – velký vůdce v nadživotní velikosti kázal z promítacího plátna svým ovečkám :-) Můj dojem z Davida je, že je to chytrý, ale hrozně upovídaný člověk. Takový ten typ, co se rád poslouchá. Když totiž po jeho projevu následovaly dotazy, byl schopný i na jednoduché otázky odpovídat několik minut a odbočit přitom k úplně jiným tématům, než o která se tazatel zajímal.

2. den

Druhý den se celkově vyznačoval tím, že přednášky v něm byly poněkud méně zajímavé než během dne prvního a chyběla také známá jména (přesněji: jména známá mně). Mám pocit, že koncentrace na první den byl ze strany organizátorů záměr, ale uniká mi důvod. Lepší by myslím bylo rozložit přednášky i osobnosti trochu rovnoměrněji.

Na první dvě přednášky, které se týkaly testování, jsem chyběl – přednost dostal spánek. Ze zbytku shlédnutých přednášek mě pak oslovilo hlavně představení projektu Rails Playground od Petra Krontoráda.

Rails Playground je nástroj pro online tvorbu aplikací v Rails. Není vůbec třeba řešit deployment, úpravy aplikace probíhají přímo na serveru ve velice pěkném online editoru (víceméně klon TextMate), který umí syntax highlighting, obsahuje kolaborativní funkce, umožňuje si definovat tzv. code snippets a má spoustu dalších hezkých fíčurek. Uživatel má k dispozici i další nástroje, mj. pro práci s databází nebo konzolí, s jejíž pomocí lze spouštět např. railsové generátory.

Bohužel Petr Krontorád není "prezentační typ" a celá jeho přednáška působila poněkud roztříštěným dojmem. Kdybych projekt neznal už z dřívějška, asi by mě jeho představení příliš neoslovilo. Mám pocit, že nejzajímavější projekt celého druhého dne, za kterým je moc hezká myšlenka a spousta práce s implementací, tak téměř úplně zapadl.

Kromě Rails Playground byly v neděli poměrně zajímavé i Lightning talks, především představení projektů StrokeDB (distribuovaná databáze inspirovaná CouchDB), RubyStack (projekt zjednodušující instalaci a správu Ruby on Rails a souvisejících programů na úroveň, kterou zvládne i nevývojář) a Ebb (webový server s ambicí nahradit Mongrel, který se dnes nejčastěji používá pro nasazení Ruby on Rails aplikací).

Závěr

Myslím, že konference se celkově podařila, proběhla bez jakýchkoliv větších zádrhelů a troufnu si tvrdit, že drtivá většina účastníků z ní měla dobrý pocit. Osobně jsem načerpal spoustu informací, poznal několik zajímavých lidí a konferenční víkend jsem si docela užil. A to vše za lidovou cenu 20 EUR/30 USD. (Zde se přímo nabízí rýpnutí do nejmenované lokální konference o webu, která byla při stejné délce  čtyřikrát dražší.)

Organizátorům – tedy především Karmimu, Jürgenu Manglerovi a Jirkovi Kubíčkovi – patří mé velké poděkování za skvěle připravenou akci.