W sobotę odbyła się konferencja Javarsowia. Darmowa warszawska konferencja była naprawdę znakomicie zorganizowana i niczym nie ustępowała płatnej krakowskiej konferencji JDD. Wykłady, materiały, prezenty i jedzenie – które wygłodniali informatycy wyskrobywali z garnków – wszystko było na bardzo dobrym poziomie. Mi najbardziej spodobał się wygład Pawła Szulca o Apache Wicket. Dziękuje organizatorom, wykładowcom i sponsorom!!!
Zauważyłem, że ostatnio na konferencjach Java pojawił się trend na konkursy. Konkursy są najzupełniej w porządku, jednak nie podobają mi się pytania konkursowe. Uważam je za głupie. Nie chciałem brać udziału w tych konkursach, ale zobaczyłem małe czarne pudełeczka z tajemniczą nagrodą. Nie wytrzymałem, spróbowałem i nie rozwiązałem poprawnie. Na szczęście – dwa małe czarne pudełeczka udało mi się i tak dostać. Dzięki!!! Oto konkurs.
Metoda main wypisze: “Koń… Krowa, kura, kaczka… Kura, kaczka, drób…(…) O! Jest! Widzę! Droga…“. “Głupota – niedostatek rozumu przejawiający nieumiejętnością rozpoznawania istoty rzeczy“. To nie jest istota programowania. Tak precyzyjna wiedza o klasach, dziedziczeniu i przysłanianiu metod jest konieczna tylko dla programistów maszyny wirtualnej Java – którzy muszą trzymać się standardów. Programiści Java – nie powinni nigdy w życiu napisać takiego kodu. Programiści Java, gdy zobaczą taki kod powinni zaalarmować. Przypomina mi to trochę Perlowego Golfa. Jednak pomiędzy Perlowym Golfem a takim konkursami jest pewna różnica – Perlowy Golf polega na napisaniu najkrótszego programu co samo w sobie może być pewnym celem. Tymczasem celem tego programiku, zagadki – jest wyłącznie zagmatwanie. Nie o to chodzi. To nie jest istota programowania. W programowaniu nie chodzi o to żeby zagmatwać, ale żeby zarządzać informacją. ++i lub i++.
Krytykując, zawsze należy podać alternatywę. Jak napisałem wcześniej, konkursy uważam za fajne. Jednak takie pytania uważam za uwłaczający godności programistów. Moją godność kupili czarnymi pudełeczkami… No cóż… O co więc należy pytać na konferencjach, żeby nie obrażać uczestników? O istotę rzeczy!!! Na przykład styl kodowania: if(coś.equals("Antek")) czy if("Antek".eqauls(coś)) lub if(coś==null)
czy
if(null==coś). W tych dwóch króciutkich pytaniach prawidłowy jest tylko jeden styl kodowania – czy wiecie który i czy wiecie czemu? O co jeszcze można pytać na konferencjach. Na przykład o bardzo ważna metodę "equals" – gdyż pisząc ją łatwo jest się pomylić.
Istotą programowania nie jest wiedza, jaka jest różnica pomiędzy i++ czy ++i. Dobry programista nie musi tego wiedzieć. Dobry programista musi wiedzieć natomiast to, że inni mogą nie wiedzieć. Programowanie, to język który wykonują maszyny. Programowanie to język który muszą zrozumieć ludzie. Dlatego istotą programowania nie jest zapis if(7==i++) ale zapis: i++;if(7==i). Istotą programowania jest taki zapis myśli, aby ludzie mogli go odczytać a maszyny wykonać.
Chodzi mi tylko o to, aby ludzie którzy przyjdą na konferencje, którzy wystartują w konkursie i którzy dostaną czarne pudełeczko, nauczyli się przy okazji czegoś pożytecznego.
Programista to taki informatyk. Informatyka to zarządzanie wiedzą. Zarządzanie wiedzą to umiejętność rozpoznania istoty wiedzy. Skończmy z głupimi konkursami. Czas na dobre konkursy. Czekam na Wasze przykłady…