Relacja z GeeCON 2009 w Krakowie
Z voucherem otrzymanym od Warszawa JUG, za co bardzo dziękuję, wybrałem się do Krakowa. Na pierwszy ogień (no, na drugi, najpierw był szwedzki stół ;-)) padła JavaFX. Keynote Simona Rittera zostanie z pewnością zapamiętana dzięki "sztuczce z deską": oczywiście będę wredny i nie zdradzę na czym polegała, ale była imponująca :-). I tak, chociaż pokaz nie miał wiele wspólnego z Javą FX, wszyscy będą już kojarzyli tą technologię - i to jest sztuka prowadzenia prezentacji!
Potem wysłuchałem krótkiej prezentacji o Springu 3.0 w duecie Alef Arendsen i Arjen Poutsma (tego ostatniego miałem już przyjemność wysłuchać podczas Spring 3.0 w Warszawie). Zasadniczo zmiany można opisać jako "Tiger ready" - Spring czerpie wreszcie pełnymi garściami z dobrodziejstw Javy 5. I chyba najwyższy czas. Ja wiem, jest jeszcze mnóstwo starego kodu, ale Tygrysek ma już 5 lat i niedługo skończy się na niego wsparcie - może warto rozpocząć migracje? Zwłaszcza, że nadeszła propozycja ustandaryzownaia adnotacji @Inject.
Największe wrażenie zrobił na mnie Miško Hevery (prowadzi bardzo ciekawego bloga) ze swoim wykładem o testowaniu i testowalności kodu. (Re)prezentowane przez niego i przez firmę Google standardy dotyczące jakości kodu i jego testowania mogą budzić podziw. Podczas gdy wiele firm albo w ogóle nie testuje kodu albo ogranicza się "wyrobów testopodobnych", Miško przedstawił testowanie jednostkowe jako dziedzinę nie mniej ważną (i interesującą!) od samego programowania. Specjalne zespoły szkolące programistów, własne i gotowe narzędzia do tworzenia metryk, gry dla koderów, code review... Długo by wymieniać - i można pozazdrościć. Jednak najbardziej utkwiły mi w pamięci dwie tezy: po pierwsze, pisanie testów jednostkowych to sztuka, umiejętność. Można nie umieć pisać testów jednostkowych tak jak nie umie się programować w takim czy innym języku/frameworku. Ale co ważniejsze - nie należy się tej niewiedzy wstydzić lub jej tuszować, a trzeba się uczyć, by po pewnym czasie osiągnąć biegłość i móc pochwalić się nawet większą produktywnością. A po drugie - pisanie testów jest trendy i ciekawe - chwytliwe porównanie do seksu (jeśli pisanie testów jednostkowych nie sprawia ci przyjemności, robisz coś źle) niech podsumuje tą intrygującą prelekcję.
Bardzo czekałem na dwie prezentacje o dynamicznych i zwinnych kuzynach ociężałej i nudnej Javy: Groovim i Scali. Václav Pech opisał podstawowe cechy Grooviego analizując prostą klasę i jej test jednostkowy. Krok po kroku przepisywał tylko odrobinkę tendencyjnie napisany kod wzbudzając podziw audytorium, parokrotnie skracając klasę. Nauka nowego języka przebiegła bezboleśnie i z przyjemnością. Gdyby tylko ten Groovy był szybszy.
Potem przyszedł czas na Scalę w wykonaniu Luca Duponcheela. Niestety tajniki programowania funkcyjnego okazały się dla mnie (oraz sporej części multikinowej sali) nie do przełknięcia. Takiej ilości znaków specjalnych, ze szczególnym umiłowaniem wszelkiej maści nawiasów, dwukropków i strzałek, nie widziałem od czasu analizy matematycznej na studiach. Szkoda, może kiedyś jeszcze podejdę do tego języka.
Niezbyt elegancka ewakuacja na prelekcję Jacka Laskowskiego spod znaku EJB 3.1. Nie dość, że temat mi znany, to do tego dotarliśmy na ostatni slajd. Swoją drogą ciekawi mnie - czy kolejne wersje EJB będą standaryzowały pomysły Springa czy raczej Spring zacznie interpretować i emulować EJB (co już robi z niektórymi adnotacjami). Bo moim skromnym zdaniem EJB ustępuje obecnie możliwościami Springowi, nie dając wiele w zamian (chociaż od wersji 3.0 technologia to całkiem ciekawa).
Na koniec prezentacja Piotra Walczyszyna o inkorporacji Flexa, Google App Engine i Javy. Może troszkę ta Java naciągana (służyła ona do wystawienia serwletem usługi dla front-endu we Fleksie), ale gwoździem do trumny były fatalne problemy techniczne. Szkoda, bo sam temat mimo wszystko ciekawy. Zresztą w tej kwestii można by jeszcze wspomnieć o nietrafionym pomyśle wyświetlania obrazu z kamery skierowanej na prelegenta. Pół wielkiego ekranu było niezagospodarowane, prezentację było słabo widać a prelegent lepiej wyglądał na żywo. Jednak ten problem szybko rozwiązano. Więcej uwag nie mam.
Niestety obowiązki zmusiły mnie do powrotu już w czwartek, żałuję najbardziej Seama i JRuby - cóż, może za rok. Podsumowując - impreza jak najbardziej udana, wielki ekran i komfortowe siedzenia kinowej sali bardzo sprzyjały percepcji. Nie wiem jak przedstawiała się międzynarodowość uczestników, ale samą konferencję z pewnością można międzynarodową nazwać. Tags: conferences, ejb, groovy, spring, testing