Spotkanie miało miejsce przy zakolu rzeki Wisły, naprzeciwko wawelskiego wzgórza w Centrum Sztuki i Techniki Japońskiej Manggha. W wydarzeniu uczestniczyło kilkaset osób w tym przedstawiciele lokalnych firm z sektora IT. Gościem honorowym był Bruce Eckel – autor wielu popularnych książek oraz publikacji z zakresu programowania ( m.in. „Thinking in Java” oraz „Thinking in C++”).
Od godziny 8 trwała rejestracja uczestników. Już w kolejce nawiązały się rozmaite rozmowy. Niektórzy żartowali, że spodziewają się dobrej kawy inni liczyli na konkretną wiedzę i nowinki ze świata Javy. Około 9 dostałem się na nieźle wyposażoną salę wykładową i zająłem miejsce. Kilka minut po godzinie 9 oficjalnego otwarcia konferencji dokonali Andrzej Targosz -prezes fundacji PROIDEA oraz V-ce Prezes firmy DRQ S.A – Łukasz Majer.

Przy mównicy już przygotowywał się Bruce Eckel. Chwilę później na ekranie zobaczyliśmy pierwszy slajd jego prezentacji pod wiele znaczącym tytułem „Świat jest Dynamiczny”. Eckel na początku wspomina, że jego chęcią jako autora książek jest nauczyć czytelnika „myśleć w języku” z godnie z tezą , że język programowania może w pewien sposób mieć wpływ na model myślenia programisty. Wg. Eckela jest to najwyższe stadium umiejętności programowania, kiedy programista “myśli” w danym języku. Przez następne 20 minut B.E. zabiera nas w podróż do świata „Festiwalu Płonącego Człowieka” („Burning Man Festival”). Jest to 8 dniowy zlot odbywający się na pustyni w Newadzie (USA). Na przestrzeni kilku kilometrów kwadratowych spotyka się zwykle do 40 tys osób. Każdy uczestnik ma za zadanie stworzyć eksperyment. Niektórzy tworzą dziwne, pomysłowe konstrukcje stojące. Inni prześcigają się w coraz bardziej pomysłowych środkach lokomocji. Są i tacy, którzy eksperyment prowadzą na sobie. Nazwa wydarzenia pochodzi od kukły, którą spala się ostatniego dnia.

Wracając do tematu Eckel potrafi znaleźć analogię do programowania prawie wszędzie. Tak też jest w przypadku „Burning Man Festiwal”. Przebywając tam każdy musi jakoś przez te dni przetrwać na pustyni (np. burze piaskowe) .Wszyscy są architektami własnych konstrukcji i własnego domu na ten czas. B.E. pokazuje własny fotoreportaż z budowy jego lokum na czas festiwalu. Wskazuje na ważną umiejętność jaką jest dostosowywanie się do dynamiki otaczającego nas świata przez zadawanie właściwych pytań, kwestionowanie swoich osądów oraz wyciąganie wniosków z własnych doświadczeń. - Większość założeń na temat projektu (namiotu) była zła. Nauczyłem się czegoś jedynie przez eksperymentowanie – twierdzi Eckel zamykając historyjkę o festiwalu.
Przed nami jeszcze dwie następne opowieści. W pierwszej znajomy autora buduje własny piec kaflowy, a w następnej dowiadujemy się ilu programistów javy trzeba , aby wybudować staw :). Przykłady mają nam uświadomić, że jesteśmy wielkimi optymistami projektując. Eckel twierdzi, iż nie da uniknąć się pomyłek. Nawet jeśli bierzemy pod uwagę popularne prawa Hofstadtera należy przemnożyć czas projektu razy cztery. Chwilę słuchamy o podstawach technik Agile (zrób eksperyment, wyciągnij z niego wnioski, zrób to wiele razy). Są one tożsame z filozofią Eckela. Dla żądnych wiedzy prelegent powołuje się na dwe książki dotyczące zasad projektowania: „Peopleware” (DeMarco&Lister) oraz „Dancing With Bears: Managing Risk on Software Projects” (DeMarco&Lister). Dla Eckela nauka przez przykład to także nauka w trakcie socjalizacji np. podczas konferencji i tu wskazuje na tzw. „Conference to Open Spaces”, Blogi czy Podcasting.Odnośnie metod zarządzania projektem poleca Agile (w tym stosowanie SCRUM) oraz Extreme Programming. Wspomina także często popełnianych błędach np. stosowaniu przy rozwijaniu oprogramowania “modelu wodospadu” czy przedwczesnej optymalizacji kodu oraz tzw. pair programming. Przy prowadzeniu projektów radzi, aby wybierać najważniejsze czynniki i na ich podstawie szacować pewną krzywą rozwoju zamiast obierać sztywne założenia bez miejsca na zmiany. Tutaj odwołuje się do lektury książki Erica Evansa “Driven Design: Tackling Complexity in the Heart of Software”. Często przychyla się także w stronę dynamicznych języków programowania głównie Pythoon oraz JRuby (wspomina o zatrudnieniu developerów JRuby przez Java Sun). Bruce Eckel żegna nas słowami “ucz się, marz i buduj”.
Po wykładzie B. Eckel odpowiada na pytania z karteczek zebranych od słuchaczy:
Czy uważasz , że dynamiczne języki programowania znajdą miejsce w enterprise?
B.Eckel: Tak, więcej aplikacji będzie tworzonych w dynamicznych językach, ale to nie znaczy, że wyprą JavaBeans 3, które próbuje naprawić sytuację.
Kiedy architekt buduje most może się pomylic – my nie.
B.Eckel:Dlaczego więc nie mamy lepszych narzędzi?
Kiedy oprogramowanie będzie deterministyczne?
B.Eckel: Hmm, nie uważam , aby to kiedykolwiek nastąpiło. Pewne aspekty mogą być deterministyczne. Możemy stosować narzędzia np. CVS czy inne, ale nigdy jednak nie będziemy mogli zagwarantować sukcesu. Statystycznie 15% projektów kończy się fiaskiem.
Jaka jest przyszłość Javy i jakie są problemy i trendy?
Najważniejszym problemem Javy jest korzystanie z bibliotek. (…) Wiele osób nadal nie przesiadło się na Java 5 – trzeba to robić, aby uniknąć komplikacji. (…) Jest nadal sporo mocy w Java. C++ wymaga więcej pracy, więc myślę , że Java nie odejdzie. Model , który widzę to budowanie podstaw systemu w językach dynamicznych np. JRuby i jeśli nie działa wystarczająco szybko należy przepisać najwolniejsze części w Java. Jest to rozwiązanie o wiele szybsze i tańsze. Tak to widzę.
Czy reverse engineering aplikacji napisanych w dynamicznych językach programowania jest trudniejszy?
Myślę, że jest to trudniejsze - nie masz statycznej informacji, która może Ci pomóc.
W dalszej kolejności odbywają się następujące prelekcje:
“Praktyczne wykorzystanie Javy 1.5 oraz wzorców projektowych”
Przemysław Pokrywka
Prezentacja
“Pisanie testów z wykorzystaniem biblioteki TestNG”
Janusz Marchewa, Zespół ds. Projektów IT Equilibrium, FPL Sp. z o.o.
Prezentacja
“Metody integracji techniki AJAX w aplikacjach Web opartych o platformę Java Enterprise Edition”
Jan Mrzygłód, Software Mind
Prezentacja
“Kluczowe elementy infrastruktury usługowej dla projektów SOA”
Waldemar Kot, Principal Systems Engineer, BEA Systems Eastern Europe
Prezentacja
“Efektywne wykorzystanie infrastruktury IT zorientowanej na usługi - benefity JSR 208″
Jan Pieczykolan, DRQ
Prezentacja
“Bezpieczeństwo aplikacji webowej na przykładzie Acegi Security System for Spring”
Grzegorz Rdzany, Zespół ds. Projektów IT Equilibrium, FPL Sp. z o.o.
Prezentacja
“IoC do kwadratu, czyli praktyczny przewodnik programisty”
Jarosław Pałka, Mobiteam
Prezentacja
“RIFE i mechanizm kontynuacji”
Łukasz Grabski, DRQ
Prezentacja
“Zastosowanie praktyk Agile w tworzeniu aplikacji i systemów z wykorzystaniem javy”
Marcin Kucieba, Sabre Poland
Prezentacja
“OSGi - wiele usług pod jednym dachem”
Marcin Płonka, Software Engineer, IBM Polska Sp. z o.o.
Prezentacja
“E-Pracownik. Rozwój umiejętności kadr MŚP w zakresie zastosowania technologii informatycznych.”
Paweł Rzepa, Trener IT, Fundacja Wspierania Edukacji Informatycznej PROIDEA
Prezentacja
W międzyczasie odbywa się Seminarium eksperckie z Bruce’m Eckelem oraz warsztaty:
“Współpraca modułów aplikacji przy pomocy platformy integracyjnej MULE”
Łukasz Krawczyk, Michał Majcher, Altkom
Prezentacja
“Silniki regul biznesowych”
Łukasz Szandecki, Mariusz Kaczor, Altkom
Prezentacja
Około godziny 21 odbywa się zakończenie konferencji oraz rozlosowanie nagród. Podsumowując trzeba powiedzieć, że mimo kilku błędów organizacyjnych konferencja wypadła dobrze o czym świadczą pozytywne opinie uczestników. Organizator - fundacja PROIDEA zaprasza na Java Developers Day w przyszłym roku. Oprócz udostępnionych prelekcji na stronie organizatora mają pojawić się materiały audio/video.
Zapraszamy także do przeczytania wywiadu IT w Krakowie z Brucem Eckelem. Wśród czytelników rozlosujemy najnowsze wydanie “Thinking in Java” wraz z autografem autora.
5 wrzesień:
Darmowe wejściówki na Java Developers' Day
18 wrzesień:
Polish Network Operators Group
13 październik:
Cracow Grid Workshop '08
16 październik:
Java Developers' Day 2008
Inicjatywa "IT w Krakowie" jest niedochodową i apolityczną organizacją pozarządową. Nasz cel to integracja, promowanie oraz rozwój społeczności informatycznej w Krakowie i regionie.
czytaj więcej
Domena krakowskich inicjatyw społecznych. Zobacz jakie są warunki otrzymania domeny we wkrakowie.org.
Pomysłodawcą i patronem Inicjatywy IT w Krakowie jest GridwiseTech