Wrażenia po Java Developer' Days 2009
Parę dni temu w Krakowie dobiegła końca kolejna edycja konferencji skupionej wokół Javy. Moje pierwsze wrażenie po JDD 09 jest takie, że mogłoby być nieco lepiej. Zarówno poprzednia edycja JDD, jak i tegoroczne konferencje javowe, czyli GeeCON oraz Javarsovia, poprzeczkę postawiły wysoko, nawet bardzo. Wydaje mi się więc, że tegoroczna edycja wypadła nieco słabiej, choć oczekiwania były naprawdę spore.
Wykłady miały miejsce na Uniwersytecie Ekonomicznym i wydaje mi się, że nie była to miejscówka marzeń. Parę wykładów było prowadzonych w dwóch ścieżkach, a druga sala nadawała się bardzo średnio na konferencję, była za mała i mimo trzech (ale zbyt małych) ekranów, sporo osób nie mogło śledzić slajdów i kodowania na żywo. Zresztą główne miejsce, czyli przerobiona sala gimnastyczna, też nie zachwycała, podobnie zresztą jak cały catering. Nie to jednak jest esencją konferencji (czyż nie? ;), więc może zostawmy już średnio smaczny obiad, braki w ciasteczkach czy kiepsko pomyślane identyfikatory (najlepsze blipowe tagi dla nich to #usability oraz #fail).
Zaczęło się, co nieco dziwne, od wykładu sponsora i jak na taki charakter wykładu, to było całkiem nieźle. Dwójka prelegentów (T. Baeyens i J. Barrezz) Rad Hata pokazywała możliwości jBPM. Sesja na kolana nie rzuciła, chociaż samo soft wydał się całkiem sensowny, większość pokazu to były nagrane filmiki, więc wszystko działało bez zarzutu.
Dopiero następnym wykładem był "keynote" Marka Richardsa na temat "messagingu" (JMS i te sprawy). Oczywiście merytorycznie bez zarzutu, chociaż prelegent skupił się na podstawach. Była chwila kodowania na żywo, ogólnie wykład niezły, chociaż już po drugim użyciu wstawka o "polish vodka" wydawała się wystarczająco mało śmieszna, a prelegent dopiero się rozkręcał w temacie ;). Było fajnie, ale przecież to keynote, więc inaczej być raczej nie mogło. Zdarzyło mi się jednak uczestniczyć w paru lepszych wykładach.
Dalej był wykład kolejnego sponsora, czyli firmy e-Point na temat sytuacji (nie aż tak) wyjątkowych. Zwykle wykłady prelegentów z tej firmy skupiają się na dość częstych problemach czy zagadnieniach, jakie spotykamy programując w szeroko rozumianym JEE. Bywa różnie, ale tym razem akurat było całkiem konkretnie, a paru wymienionych na wykładzie rzeczy programiści nie nauczą w szkole, chociaż koniecznie powinni. Oczywiście część przedstawionych idei była też dyskusyjna. Sporo miejsca poświęconego zostało "checked exceptions", w skrócie temu, że są złe. Nie jest to oczywiście odosobniona opinia; o tym, że "checked exceptions" muszą odejść, pisał ostatnio też Miško Hevery. I tak naprawdę trudno się tu z czymkolwiek nie zgodzić, osobiście dla mnie na topie bezsensu są UnsupportedEncodingException oraz wyjątki w czasie próby stworzenia nowego dokumentu DOM, no ale to żale na osobny wpis. Dobrym wzorcem (nawet bardzo) jest pokazywanie użytkownikowi wraz ze stroną błędu losowego kodu powiązanego z owym błędem (np. w Stripes takie zachowanie bardzo łatwo jest osiągnąć), w ten sposób kiedy dostajemy od użytkownika informację o problemie, potrafimy łatwo powiązać z nim konkretny wyjątek. Ogólnie wykład niezły, takie "must know" dobrego programisty.
Następnie wybrałem wykład Waldka Kota o bardzo skomplikowanym temacie. Generalnie uważam, że był to chyba najlepszy wykład JDD 09, tylko gdyby zatytułować go "współbieżność w JEE może być sexy", zrobiłby większą furorę ;). Pokazanych zostało parę pomysłów na współbieżność, kiedy działamy w środowisku JEE. Prezentacja Work Manager API na WebLogicu pokazała, że z wątkami można żyć, i to całkiem bezboleśnie. No i Waldek jest zawsze dowodem na to, że Polak jednak może poprowadzić ciekawą prezentację techniczną, i to bez czerstwych żartów.
Wojtek Szeliga opowiedział o "code review". Pokazał parę narzędzi, aczkolwiek prezentacja była bardzo zorientowana na produkty firm JetBrains i Atlassian. Nie twierdzę, że to źle, bo zasługują one na swoją bardzo dobrą opinię, chociaż na IntelliJ z Eclipse jeszcze nie migruję. Były też slajdy o dobrych praktykach przy przeglądach kodu, parę recept jak w ogóle zacząć, no i slajd o "code review" vs "pair programming" też się znalazł (swoją drogą w temacie polecam podcasty AgileTuning). Było całkiem zwinnie, czyli ogólnie w porządku.
Dalej każdy miał na pewno dylemat, który wykład zagranicznej gwiazdy JDD 09 wybrać. Jako że parę testów w Groovym już napisałem, postanowiłem znowu posłuchać Marka Richardsa, który opowiedział o paru anty-wzorcach. Oczywiście było sympatycznie, chociaż do większości sytuacji pasuje cytat "Z czego się śmiejecie? Z siebie samych się śmiejecie!". Przedstawione złe praktyki można by odnieść nie tylko do Javy, ba, nie tylko do samego programowania. Konkretnie pokazane zostały m.in. zasada gwoździa (mając tylko młotek wszędzie widzi się gwoździe) i kult cargo (jakoś działa, ale nie wiem co, jak i gdzie).
Przedostatni wykład dla mnie to Domain Driven Design + Seam, o których opowiadał nieco chyba spięty Sławek Sobótka. Od strony merytorycznej było za to całkiem dobrze, zarówno jeśli chodzi o zainteresowanie DDD, jak i samym JBoss Seamem. Plus za przedstawienie konkretów, gdyż o ile o DDD się słyszy całkiem sporo, to do informacji o tym, jak to zagadnienie ugryźć w praktyce, wcale tak łatwo dotrzeć nie można.
Na deser został wykład Scotta Davisa o REST. Trzeba jedno przyznać amerykańskim prelegentom - potrafią robić show. I Scott je zrobił. Co do samej treści - było trochę przykładów, kodowanie na żywo w Groovym, porównanie złożoności SOAP z prostotą REST. Ogólnie prelegent pozostawił po sobie bardzo pozytywne wrażenie.
Napisałem na początku, że mogłoby być lepiej. Nie chcę jednak napisać, że konferencja się nie udała, bo to nie byłaby prawda. Było dobrze, miejscami bardzo dobrze i nieobecni mają czego żałować, bo jeśli nawet nie było mega hitów wśród wykładów i zupa była za słona ;), to zawsze zostaje tzw. społeczny aspekt konferencji. Miło było znowu zobaczyć (nie aż takich) starych znajomych, rozsianych obecnie po najróżniejszych firmach, nie tylko tych z Krakowa.







