niedziela, 9 listopada 2008

GWT & Deferred Binding w akcji :-)

Udało się. Przyłapałem Google in flagranti. Mam nadzieję, że uda mi się to wytłumaczyć, jako, że wpadka nie jest wielkości kanału La-Manche. Jest problematyczna, świetle poniższego wykładu. Aby wszystkim zainteresowanym dalszym czytaniem tego bloga oszczędzić godziny spędzonej na słuchaniu założeń "deferred binding" (jeżeli ktoś naprawdę chce to może odpalić wykład - 1h) poniżej wyjaśniam o co mi chodzi.

Jeżeli jesteś Geekiem, proszę GWT Deferred Binding in Action :-)




Zakładam jednak, że większość czytelników czyta jednak dalej. Zatem aby wytłumaczyć o co mi chodzi i dlaczego Google tym razem się nie udało, przytoczę anegdotę z powyższego wykładu. Zdaniem prowadzącego (opiera on swoje sądy na serialu Simpsonowie), są trzy drogi do wykonania czegoś. Jest dobra droga (the good way), zła droga (the bad way) oraz droga w stylu Maxa Powera (the Max Power's way). Na pytanie czy działanie według wskazówek Maxa nie jest także złą drogą. Odpowiedź brzmi "Tak, ale jest to o wiele szybsze".
Płynie tutaj nauka (skądinąd często słuszna), że nie jest ważne jak co zrobimy, ważny jest efekt. Przekładając to na rzeczywistość - nieważne jak programujesz, ważne, że twój program działa szybko i jest przyjazny dla użytkownika.

No i mamy slajd od Google. Występuje on często, w momencie gdy loguję się do Gmail. Gmail (przeglądarka?) wiesza się i zdecydowanie nie jest to "Max Power way". Rozwiązaniem tej sytuacji jest odświeżenie strony.


Dlaczego to piszę? Bo okazuje się, że WSZYSCY (nawet Google, tak nawet Wielkie Google :-), popełniamy błędy. A w momencie gdy uczymy innych jak konretnych błędów nie popełniać, sami to robiąć - no cóż. W wtedy należy się nam łomot. Taki internetowy :-).

P.S. Obiecałem pisać co czytam. No cóż - cały czas czyta się Lód, strona 170. Jak mi się uda to Aga przeczyta Tolkiena. Więc warto !

3 komentarze:

Tomek Wójcik pisze...

"(...) nieważne jak programujesz, ważne, że twój program działa szybko i jest przyjazny dla użytkownika."

Jak czytam takie teksty to, za przeproszeniem, nóż mi się w kieszeni otwiera.
Później człowiek czyta taki "kod" takiego "programisty" i mu się mózg lasuje. Czytelnie sformatowany tekst, czytelne nazwy klas, funkcji i zmiennych, logiczny projekt... Czy to wszystko jest przeszłością? Dlatego właśnie uważam, że najlepszy team developerski w jakim pracowałem to ja, mój MacBook i iTunes :).

A od interfejsu aplikacji to powinni być osobni ludzie. My, programiści, się na tym nie znamy. To udowodnione naukowo zajwisko :).

Marcin Siekierski pisze...

Spoko Tomku, spierać się nie będę. Sam trochę programowałem, więc wiem jak ważne są sensowne komentarze, logiczne nazwy zmiennych i sama logika projektu ;-).

Jednak uważam, że zapotrzebowanie na programy komputerowe będzie stale rosnąć i nie sądzę aby programiści byli w stanie utrzymać czystość kodu na wysokim poziomie. Ważny będzie efekt a nie kod w środku. Poza tym programowanie będzie opierało się na językach coraz wyższego poziomu więc może niedługo nawet for, while etc. będzie przeszłością :-).

Tomek Wójcik pisze...

Wiesz... Programowanie już opiera sie na wyższym poziomie niż kiedyś. Rozpoczynając przygodę z Cocoa (to systemowe API Mac OS X) byłem zdruzgotany tym, że aplikację bazodanową (taki mini-blog) można "złożyć z klocków" i odpalić bez klepania ani jednej linii kodu :). Teraz, po kilku miesiącach zabawy, mam już własną bibliotekę gotowego kodu, dzięki któremu rozszerzenie nowo powstającej aplikacji o dodatkowy panel do konfiguracji uaktualnień (realizowanych przez gotową bibliotekę) to kwestia dogrania do projektu kilku plików :).

To wszystko przyspiesza pracę, ułatwia ją itp., ale IMO nie zwalnia mnie z odpowiedzialności. Zasłanianie się tempem powstawania aplikacji jest jak dla mnie mydleniem oczu. Nazwy zmiennych i tak muszą być pisane, więc co za problem wybrać inne słówko niż "temp655"? Że się komuś nie chce naciskać tabulatora? jEdit sam wcina kod... Wzorcem nazw funkcji i metod niech będzie Cocoa, gdzie metody nazywają się np. "stringByAppendingString:". Czytelne, no nie? Że długie jest - "mądre" IDE potrafią same podpowiadać kod. Wystarczy chcieć i używać nowoczesnych narzędzi.

Przekona się o tym ten, kto kiedyś się we własnym kodzie pogubi :). Ja przez to przechodziłem...