Wrażenia z java4people 2011
Jest niedzielny poranek, siedzę w pociągu relacji Szczecin-Warszawa i właśnie wyciągnąłem laptopa, aby spisać wrażenia z trzeciej edycji konferencji java4people, która odbyła się wczoraj w Szczecinie, póki jeszcze nie okrzepły i nie rozmyły się.
Zanim opowiem o poszczególnych wystąpieniach, winienem oddać zasłużone gratulacje organizatorom, czyli szczecińskiemu JUG-owi. Przestronne, nowoczesne aule Zachodniopomorskiego Uniwersytetu Technologicznego, dostępne przez cały czas ciastka i herbata, obiad (załapałem się na dokładkę!), after-party, a nade wszystko ciekawe prezentacje i rozmowy kuluarowe — wszystko to stwarzało znakomitą atmosferę sprzyjającą temu, aby posłuchać o nowych językach i technologiach wokół Javy i JVM oraz “dzielić się wiedzą i pasją”, jak głosi motto konferencji. Wielkie brawa!
Jedyny niedosyt polegał na tym, że prezentacje poprowadzone były w dwóch równoległych blokach, a do tego w trzecim bloku trwały warsztaty z SWT/JFace. Momentami bardzo doskwierał mi brak możliwości bilokacji, ale trudno winić o to organizatorów.
Oficjalnego otwarcia dokonał prof. Antoni Wiliński, dziekan Wydziału Informatyki ZUT, życząc uczestnikom owocnej wymiany doświadczeń. Następnie część ludzi udała się posłuchać wystąpienia Tomka Kopacza o .NET i Javie, ja zaś zadebiutowałem w roli prelegenta na imprezie tego formatu, opowiadając o Clojure.
Trudno mi wypowiadać się o własnej prezentacji — nie jestem dobrym mówcą i to było widać. Jak się jednak okazało z rozmów ze słuchaczami, udało się zainteresować część osób tematem. Sukces jest więc połowiczny, a postaram się, aby następnym razem było lepiej. Slajdy można znaleźć tu.
Potem wybrałem się na wystąpienie Przemka Pokrywki o Scali. Scala bywa
wymieniana jednym tchem z Clojure, gdy mowa o nowych językach
funkcyjnych działających na JVM, więc byłem bardzo ciekaw tego
wykładu. I nie zawiodłem się: z Przemka wprost emanowała pasja, znać
było też dużą wiedzę i doświadczenie w temacie. Przemek ciekawie
pokazał, w jaki sposób Scala łączy paradygmat funkcyjny z obiektowym
— w tym drugim zakresie przypomina mi Smalltalka: tu też wszystko
jest obiektem i 2 + 3 oznacza zawołanie na obiekcie 2 metody + z
parametrem 3. Fajnym mechanizmem wydaje się też możliwość
definiowania własnych niejawnych konwersji — to sposób na wzbogacanie
już istniejących klas o nowe funkcjonalności, ale bez zmiany tych
klas; przypomina to trochę Clojurowe protokoły i extend-type.
Dopisuję do listy rzeczy do wypróbowania.
Po obiedzie, zachęcony tytułem, wybrałem się na prezentację “Skalowalność technologii Javowych w zastosowaniach komercyjnych” Dawida Gruszczyńskiego. Organizatorzy konferencji na samym początku rozdali ankiety, w których prosili o ocenienie każdego wystąpienia w skali od 1 (szkoda czasu) do 5 (naprawdę warto) — po tej prezentacji dały się słyszeć rozmowy, że należałoby dać jej 0 albo i -1. Ja jestem łagodniejszy w swych ocenach. Bezsprzecznie prezentacja była źle zatytułowana: tytuł obiecywał opowieść o technikach czy narzędziach projektowania skalowalnych aplikacji; tymczasem okazało się to klasycznym success story dotyczącym systemu obsługi spisu powszechnego, w tym oprogramowania działającego na terminalach używanych przez rachmistrzów.
Czy ta prezentacja była nie na miejscu na takiej konferencji? Może i tak. Mam jednak słabość do success stories i duży szacunek do ludzi, którym udaje się stworzyć działające, niezawodne oprogramowanie, nawet jeśli nie zgadzam się z wyborem technologii. To naprawdę spora rzecz. A samej prelekcji trzeba oddać, że była sprawnie przeprowadzona, slajdy zrozumiałe, a diagramy prezentujące architekturę systemu — czytelne. Wątpliwości słuchaczy budziła kwestia bezpieczeństwa transmisji danych (i samych rachmistrzów!) Ciekawostka: terminale rachmistrzowskie mają zmienne IP, ale nie powiadamiają serwera co chwila o swoim aktualnym adresie, bo wywoływałoby to zanadto duże obciążenie. Co więc robi terminal, gdy zmieni mu się adres? Otóż… wysyła SMS (!) ze swoim aktualnym adresem!
Na wystąpieniu Sebastiana Pietrowskiego o Jythonie (a także samym
Pythonie i Django) nie dowiedziałem się wiele nowego, z racji
wcześniejszych swoich doświadczeń z Pythonem. Ale też celem tej
prezentacji było chyba nie tyle przekazanie wiedzy, co podzielenie się
własnymi doświadczeniami, z subiektywnego punktu widzenia — i to
udało się Sebastianowi znakomicie. Stąd slajdy zatytułowane “What I
Like”, “What I Don’t Like”, “What I’d Use Python For” — bardzo
pragmatyczne. Sebastian opowiadał między innymi o tym, że Jythona
można fajnie wykorzystać jako narzędzie do eksploracji nowych API z
REPL-a: używając pythonowej introspekcji można łatwo obejrzeć listę
pól i metod udostępnianych przez dowolną klasę. W swoim wystąpieniu o
tym nie opowiadałem, ale w pakiecie repl-utils w Clojure Contrib jest
funkcja show, która daje bardzo podobny efekt.
Słuchając wystąpienia Bartka Kuczyńskiego o Vaadinie utwierdziłem się
w przekonaniu, że nie chcę pisać aplikacji webowych tak jak okienkowe,
na modłę swingową. Vaadin ma w zamierzeniu służyć właśnie do tego: to
nadbudowany nad GWT modularny framework WWW. Bartek pokazywał
dziejącą się pod spodem magię, wraz z protokołem, którym część
kliencka kompilowana do JS komunikuje się z serwerową (UIDL — dobrze
pamiętam? — i JSON z danymi do wyświetlenia, poprzedzonymi ni mniej
ni więcej tylko pętlą nieskończoną for(;;);, co podobno ma jakiś
sens). Psikus w tym, że ostatnio w Smyrnie zrobiłem dokładnie
odwrotną rzecz, to znaczy napisałem aplikację desktopową tak jakbym
pisał webową, a więc używając ajaksowego XML-RPC (odsyłam do
niedawnego postu na ten temat), i wyszło na oko prościej niż w
Vaadinie. Może opowiem o tym na Warszawa JUG?
Nie zdążyłem się obejrzeć, a to już koniec konferencji! Do dotychczasowych bonusów dołączył kolejny: wśród wypełniających ankiety organizatorzy rozlosowali pięć książek. Los wytypował mnie jeszcze raz i schowałem do plecaka “Domain-Specific Languages” Martina Fowlera.
Pokonferencyjne after-parties bywają bodaj ważniejszymi nawet elementami takich spotkań niż same prezentacje. To tam toczy się najwięcej rozmów, to tam zawiązują się nowe znajomości i trwają nieskrępowane, długie dyskusje. Tak bywa z pizzą na Auli, tak było i teraz. Wielkie dzięki raz jeszcze organizatorom, wszystkim, których poznałem, z którymi udało mi się porozmawiać, i tym, którzy przebrnęli przez moje wystąpienie. Do zobaczenia przy innej okazji!

1 Comment
Add comment