Spotkanie 25.11.2010 - Kuba Marchwicki - "Prezentacja o klasycznej, programistycznej elegancji"

35 views
Skip to first unread message

Jakub Neumann

unread,
Nov 19, 2010, 2:54:59 AM11/19/10
to Trójmiasto JUG
Zapraszamy wszystkich chętnych na spotkanie we czwartek, 25.11.2010,
godz. 17.30, aula 2, budynek Mat-Fiz-Inf, UG, ul. Wita Stwosza 57.
Kuba Marchwicki przedstawi "Prezentację o klasycznej, programistycznej
elegancji":

"Tak wiem, kiedy piszę w Groovy, Scali, Closure mój kod będzie
śliczny,
czytelny, przejrzysty. Ale... no właśnie... ale - ja tylko programuje,
mam znikomy wpływ na architekturę, pośredni wpływ na wysokopoziomowe
biblioteki (no-frameworks) i zasadniczo powinienem skupić się na
klepaniu kodu. Oczywiście kodu działającego, przetestowanego,
najlepszego na świecie, bez błędów itd itp. Brzmi znajomo - prawda?

W czwartkowej prezentacji chciałbym przybliżyć trochę dojście do
human-readable code, opowiedzieć o tym jak wykorzystując biblioteki
apache-commons i/albo google guava napracujemy się mniej, algorytmy
staną się dziecinnymi czytankami a nie zawiłymi sekwencjami instrukcji
warunkowych.

Mam cichą nadzieję, że uda mi się wywołać dyskusję, wymianę
doświadczeń i produktywne spędzenie czasu. Zapraszam."

Wstęp oczywiście wolny!


kuba.marchwicki

unread,
Nov 25, 2010, 3:15:31 PM11/25/10
to Trójmiasto JUG

On 19 Lis, 08:54, Jakub Neumann <kuba.neum...@gmail.com> wrote:
> Zapraszamy wszystkich chętnych na spotkanie we czwartek, 25.11.2010,
> godz. 17.30, aula 2, budynek Mat-Fiz-Inf, UG, ul. Wita Stwosza 57.
> Kuba Marchwicki przedstawi "Prezentację o klasycznej, programistycznej
> elegancji":

[...ciach...]

>
> Mam cichą nadzieję, że uda mi się wywołać dyskusję, wymianę
> doświadczeń i produktywne spędzenie czasu. Zapraszam."
>
> Wstęp oczywiście wolny!


Dzięki - mam nadzieję że każdy dziś znalazł coś dla siebie ;-)
Dziękuje Kubie za salę - jest świetna - szczególnie dla prelegentów.
Polecam i zachęcam :-)

Po slajdy zapraszam tutaj:
http://www.slideshare.net/kubamarchwicki/o-klasycznej-programistycznej-elegancji

A strzałki, kreski, kółka i kwadraciki można pobrać tutaj:
http://technet.microsoft.com/en-us/sysinternals/bb897434.aspx

Kuba

Damian Nowak

unread,
Nov 25, 2010, 3:18:59 PM11/25/10
to jug-tro...@googlegroups.com
Witam,

> Mam cichą nadzieję, że uda mi się wywołać dyskusję, wymianę
> doświadczeń i produktywne spędzenie czasu. Zapraszam."

I jak tam po dzisiejszym spotkaniu? Nie mogłem przyjść, więc chciałbym
chociaż post factum się dowiedzieć. ;)

--
Damian Nowak
www.nowaker.net

Łukasz "Smok" Rybka

unread,
Nov 25, 2010, 3:39:30 PM11/25/10
to Trójmiasto JUG
Witam.

Żałuj Damian, oj żałuj :) Prezentacja bardzo fajna. Dowiedziałem się
mnóstwa nowych rzeczy, część z nich na pewno w niedalekiej przyszłości
wykorzystam, większość pozostanie do douczenia się na przyszłość, ale
prezentacja pomogła mi dalej układać swój plan rozwoju
"zawodowego" (coś podobnego do tego co robi Damian). Prezentacja
treściwa, prelegent otwarty na głosy publiczności, ciekawe dyskusje,
tematyka jeszcze ciekawsza. Jakby to powiedział Kuba Wojewódzki -
"Jestem na tak!" :) Mam nadzieję, że to nie ostatnia prezentacja Kuby.

Pozdrawiam, Łukasz "Smok" Rybka

Rafał Roppel

unread,
Nov 25, 2010, 4:06:09 PM11/25/10
to jug-tro...@googlegroups.com
W dniu 25.11.2010 21:15, kuba.marchwicki pisze:
>
> Dzi�ki - mam nadziej� �e ka�dy dzi� znalaz� co� dla siebie ;-)
> Dzi�kuje Kubie za sal� - jest �wietna - szczeg�lnie dla prelegent�w.
> Polecam i zach�cam :-)> A strza�ki, kreski, k�ka i kwadraciki mo�na pobra� tutaj:
> http://technet.microsoft.com/en-us/sysinternals/bb897434.aspx
>
> Kuba
>
>
Dzi�ki za fajn� prezentacj�!

P.S.

Co do Twojego zdania na temat pisania, blogowania, czy pisania
dokumentacji,
to przypomnia�y mi si� s�owa wyk�adowcy z ETI:

"Programistom p�ac� za pisanie dokumentacji, bo pisanie kodu to
przyjemno��" :)


Pozdrawiam,
Rafaďż˝ Roppel

mgruca

unread,
Nov 26, 2010, 2:55:44 AM11/26/10
to Trójmiasto JUG
Oj i tu błąd popełniłeś: powiedziałeś na prezentacji, że to najlepsze
co M$ wyprodukowało (czy że to jedyne co dobrego wyprodukowali). Z
tego co ja kojarzę o sysinternals wszystkich aplikacjach, to: a) są
bardzo dobre b) są zrobione przez firmę sysinternals, która została
wykupiona gdy okazało się, że wyprodukowali zamienniki do wszystkiego
i to o niebo lepsze niż M$ stworzył. Jeśli Cię rozczarowałem i
rozwiałem nadzieje związane z redmontonami to się cieszę ]:> ;)

Co do prezentacji to elegancka była. Choć miałem się nie zgodzić co do
equals i hash buildera. To robi IDE dzięki czemu nie muszę się tym
martwić a tym samym szybciej to zrobię bo zajmuje mi to wciśnięcie 3
klawiszy (jak nie przypiszę skrótu to niedużo więcej). Za to nie
obraziłbym sięgdyby jakiś plugin wspierał commons do budowania equals
czy hash code. Ale to raczej kwestia stylu programowania i co komu
wygodniej.

@Damian: żałuj :)

Norbert

unread,
Nov 26, 2010, 3:45:09 AM11/26/10
to jug-tro...@googlegroups.com
@Michał:

Wydaje mi się, że z tym equals i hashCode nie jest tak różowo w przypadku, kiedy robi to IDE.
O ile pamiętam - pisał o tym J.Bloch w "Effective Java", problemy mogą się pojawić, kiedy porównujemy
obiekty nadklasy z podklasą (w przykładzie modelu, który zaproponował wczoraj Kuba np. Person -> Student).
Rozumiem że te buildery które są w Apache Commons powinny być pozbawione tych wad, choć to z pewnością zależy od samej konstrukcji klas.

pzdr
Norbert



--
Otrzymujesz tę wiadomość, ponieważ subskrybujesz grupę dyskusyjną Google o nazwie "Trójmiasto JUG".

Aby zamieszczać posty w tej grupie, wyślij e-mail na adres jug-tro...@googlegroups.com.
Aby anulować subskrypcję tej grupy, wyślij e-mail na adres jug-trojmiast...@googlegroups.com.
Aby uzyskać więcej informacji, odwiedź tę grupę pod adresem http://groups.google.com/group/jug-trojmiasto?hl=pl.


Przemysław Bielicki

unread,
Nov 26, 2010, 5:29:34 AM11/26/10
to Trójmiasto JUG
equals i hashCode generowane przez IDE są bardzo dobre i nie trzeba do
tego builderów (uzycie buildera bazujacego na reflection to juz w
ogole strzal w stope - chociaz mozna tez uzyc bardziej efektywnego
buildera, to fakt).

problemy z equals() moga byc koszmarne - zwlaszcza jesli uzywa sie
jakiegokolwiek narzedzia do "podrasowywania" klas w runtime np. CGLIB.
wtedy equals bazujacy na klasie tzn. getClass() == other.getClass()
(nie na instanceof) zawsze bedzie false. wiec jesli uzywasz Hibernate
(ktory bazuje na CGLIB) i uzywasz == zamiast instanceof, to leżysz...

pisalem o tym pare la temu: http://blog.bielu.com/2006/11/dangerous-equalsobject-template-in.html

pozdrawiam,
Przemek

On Nov 26, 9:45 am, Norbert <lazyu...@gmail.com> wrote:
> @Michał:
>
> Wydaje mi się, że z tym equals i hashCode nie jest tak różowo w przypadku,
> kiedy robi to IDE.
> O ile pamiętam - pisał o tym J.Bloch w "Effective Java", problemy mogą się
> pojawić, kiedy porównujemy
> obiekty nadklasy z podklasą (w przykładzie modelu, który zaproponował
> wczoraj Kuba np. Person -> Student).
> Rozumiem że te buildery które są w Apache Commons powinny być pozbawione
> tych wad, choć to z pewnością zależy od samej konstrukcji klas.
>
> pzdr
> Norbert
>
> > jug-trojmiast...@googlegroups.com<jug-trojmiasto%2Bunsu...@googlegroups.com>
> > .

Damian Nowak

unread,
Nov 26, 2010, 11:14:25 AM11/26/10
to jug-tro...@googlegroups.com
Witam,

> Co do prezentacji to elegancka była. Choć miałem się nie zgodzić co do
> equals i hash buildera. To robi IDE dzięki czemu nie muszę się tym
> martwić a tym samym szybciej to zrobię bo zajmuje mi to wciśnięcie 3
> klawiszy (jak nie przypiszę skrótu to niedużo więcej). Za to nie
> obraziłbym sięgdyby jakiś plugin wspierał commons do budowania equals
> czy hash code. Ale to raczej kwestia stylu programowania i co komu
> wygodniej.

Ja ostatnio śledzę grupę dyskusyjną projektu Lombok. Oni to robią po
prostu @EqualsAndHashCode, @ToString. To rozwiązanie jest jeszcze
lepsze, bo nie commitujesz generowanego kodu do repo - niech sam się
generuje w etapie kompilacji.

--
Damian Nowak
www.nowaker.net

l.kuczera

unread,
Nov 26, 2010, 8:38:45 PM11/26/10
to Trójmiasto JUG
No fajnie, ale gdzie był klasyk - Clean Code uncle Bob'a ;)
To co było najfajniejsze to że prezentacja była ... krótka i był czas
poprostu pogadać. Czyli takie unconference prawie.

Krzysztof Zubik

unread,
Jan 7, 2011, 7:04:39 PM1/7/11
to jug-tro...@googlegroups.com
Jakub Neumann pisze:
> Zapraszamy wszystkich ch�tnych na spotkanie we czwartek, 25.11.2010,

> godz. 17.30, aula 2, budynek Mat-Fiz-Inf, UG, ul. Wita Stwosza 57.
> Kuba Marchwicki przedstawi "Prezentacjďż˝ o klasycznej, programistycznej
> elegancji":
> ..........................................................
>
Witam.
Przepraszam, ze tak pozno udostepniam zdjecia.
Zapraszam do ich ogladania pod http://www.kzubik.cba.pl/java-g35.html
Moje nagrania video z tego i kilku poprzednich spotkan tez beda. Zajme sie
nimi po powrocie z Zimowiska Linuxowego w Pucku.
--
Konczac Pozdrawiam. Krzysztof.
------------------------------------------------------------
Registered Linux User: 253243
Powered by Aurox 11.0, Ubuntu Studio 8.04 i Fedora 9.0
Krzysztof Zubik. | kzu...@netglob.com.pl| kzu...@wp.pl
http://www.kzubik.cba.pl
GaduGadu. 1208376 | Jabber. kzu...@jabber.wp.pl | Skype. kzubik
Reply all
Reply to author
Forward
0 new messages