CodeRetreat Praha 2011

Organizátoři byli večer skutečně znaveníNikdy, nikdy nepodlehněte své lenosti. Všichni známe předvánoční čas plný akcí a večírků a uznávám, že včera jsem velmi zvažoval, jestli chci na CodeRetreat vlastně jet a zmizet o desíti z jiné akce s přáteli úplně střízlivý. Přiznávám svou slabost a stydím se, že jsem vůbec kdy zapochyboval. CodeRetreat byl jednou z mých letošních nejlepších akcí a musím říct, že naboural žebříček nejhodnotnějších akcí vůbec. Přičemž i příčka jOpenSpace se zachvěla ve svých základech.

Vstupy:

1. lidi, co chtějí o víkendu kódovat (zázrak sám o sobě a předvýběr jako sviňa)
2. na první pohled jednoduchý problém k vyřešení v nereálném čase
3. podmínka TDD, párové programování, změny párů v 45 minutových intervalech

Důsledky:

1. střídání programovacích jazyků, IDE, klávesnic i programátorských přístupů
2. přistoupení na hru, že cesta je cíl
3. destilovaný programátorský zážitek

Podstatou problému byla tzv. Game of life reprezentovaná čtyřmi pravidly, která nečiní problém komukoliv v jakémkoliv jazyce nakódovat, přičemž jsou tak jednouchá, že je musí v naivní variantě spráskat i student s prvním ročníkem programování. Na druhou stranu je to problém s otevřeným koncem - tedy cesta po které se dá jít ještě dál, než jste si napoprvé mysleli, že je možné dojít (trošku mi to připomíná náš přijímací pohovor do Forresta). Záleží jen na tom, jaké všechny okolnosti vezmete při svém přemýšlení v úvahu. Začnete ve svém dvourozměrným polem a skončíte u nekonečného vesmíru, vezmete v potaz dvoudimenzionalní prostor a zkusíte si jak by vypadal propočet ve vícedimenzionálním, zkusíte si algoritmus v Javě, C# v DARTu nebo Groovy (nekecám, tím jsem si dneska opravdu prošel).

Po první iteraci zcela ztratíte chuť dělat to vážně a začnete to brát jako hru. Hra má pevná pravidla, do které vstupujete s vámi akceptovanými zjednodušeníni a unikátním přístupem, po dohodě s vaším parťákem. To vše (kromě 4 pevných pravidel) se po 45 minutách a změně vašeho kolegy mění. Nikdo se nechce nudit a proto pokaždé berete stejný problém z jiného úhlu a přicházíte na lepší řešení. Máte jeden notebook a kolega vás bije přes prsty, když sklouznete dříve k implementaci logiky před implementací testu (mimochodem prsty mám dnes úplně omlácené :D).

Dnešní den byl vyjímečný i tím, že CodeRetreat se odehrál po celém světě, snad ve všech časových pásmech. Už ráno po páté ve vlaku do Prahy jsem četl tweety z Melbourne, Tokia a HongKongu, že CodeRetreat u nich právě začal. Když jsem si postesknul, že ve vývojářských luzích a hájích je to samý chlap (v Čechách kodérky asi nejsou :( ), dostal jsem odpověď z Berlína, že alespoň dvě členky něžného pohlavi se v našich řadách přeci jen nacházejí. Poslední uzavírací tweet, přišel po pár hodinách z Honolulu, kde se CodeRetreat letošního roku uzavřel. Člověk si hned nepřipadá blbě, když se po celém světě najdou lidi ochotní jít do podobné záležitosti s ním.

Paradoxem je, že díky triviálnímu problému si člověk dokáže vyzkoušet během pár hodin plno věcí - stačí se soustředit a nemít cíl. Velkým překvapením je pro mě dnes DART - spolu s @kolman jsme si chvíli hráli s problémem v DARTu (mimochodem díky za energii věnovanou zprovznění vývojového prostředí) a došli jsme k závěru, že DART je v podstatě mixem C# a Javy. Vzhledem k velmi obtížně dohledatelné dokumentaci jsme skutečně jeli stylem test -> implementace a když se nám DART nechtěl zkompilovat, tak jsme syntaxi C# a Javy vyměnili (@kolman je .NETista a já Javista) nebo naopak a kompilátor na jednu z variant zabral. Jen tak trochu nevím, na které publikum Google s DARTem míří - že by na obě?

Krásně bylo vidět, jak enterprise jazyky jako je C# nebo Java v produktivitě zaostávají za jazyky jako je Groovy (alespoň na problému tohoto typu). Pravda je, že v neproduktivních jazycích jsme si byli, na druhou stranu, daleko víc jistí v kramflecích. Velmi zábavná mi připadla TDD hra - napiš test a já implementaci, která tvému testu vyhoví (samozřejmě tě zkusím obelhat), kterou jsem v poslední iterací hrál s @philipp_riemer (němec z Norimberka tč. studující v Praze na VŠE).

Ještě jednou díky všem českým organizátorům, sponzorům (GMC) a firmě JetBrains za licence IDE pro šťastného výherce a trička pro všechny (co jsem dokázal na zádech z Pardubic unést). Mimochodem - doteď nechápu, jaktože M$ ještě nenavázal s JetBrains úzkou spolupráci - dnes jsem neviděl Visual Studio bez Resharperu (kdo ví, jestli byli všechny legální? :D ).

WTF: M$ can't you make proper IDE for your developers on your own?