Znowu zleciał prawie miesiąc od ostatniego wpisu… Nie ozanacza to oczywiście, że przez ten czas nic się nie działo. Wręcz przeciwnie, a to za sprawą próby „wgryzienia się” w Javę.
Na różnych mądrych forach wyczytałem, że PHP to właściwie zabawka, a prawdziwe programowanie zaczyna się dopiero od Javy. Szkoda tylko, że niektórzy nie zauważają, że „zabawki” typu Allegro napisane są w PHP. Dodatkowo zachęcony hasłem „write once, use everywhere” zainstalowałem sobie NetBeans na Ubuntu i „ruszyłem z tym koksem”.
Co nowego zauważyłem w Javie z punktu widzenia znajomości wyłącznie PHP (nie liczę Logo, Basic a potem Turbo Pascal za dzieciaka):
- Nie ma w Javie zmiennych bez wcześniejszego zadeklarowania ich typu. Koniec ze zmienną będącą raz integerem, a innym razem stringiem.
- Koniec z funkcjami zwracającymi wartości ładnie w PHPDoc nazwane mixed, czyli jak wszystko fajnie poszło, to return true, jak niefajnie to false, a jak trochę fajnie to stringa.
- Przeciążanie metod to jest to czego mi brakuje w PHP. Wiele zadań programistycznych dałoby się łatwo i szybko rozwiązać gdyby można było przeciążać metody (np. różne warianty konstruktora).
- Tablice mają z góry ustaloną liczbę elementów. Z drugiej strony mamy rozbudowane implementacje kolekcji typu List, Set i Map (w których słabo się jeszcze poruszam na dzień dzisiejszy).
- Cała nowa grupa zagadnień (i angielskiego słownictwa) w ogóle nie występujących w PHP, czyli współbieżność (problem dostępu wielu wątków do tych samych danych, zakleszczenia, wzorzec producent-konsument itd.)
- Ciekawe rozwiązanie „niuansików OSowych”, np. w windowsach ścieżki dostępu tworzy się znakiem \ , a w uniksach / . Wpisując File.pathSeparatorChar Java sama dobierze sobie odpowiedni znak.
- Budowa interfejsu graficznego i jego oprogramowywanie (nieźle rozwiązane w NetBeans).
- Wszystko jest obiektem i dziedziczy po Object!
- Nie da się niechlujnie pisać kodu
Towarzysz kompilator (to również nowość) od razu zgłosi, że mu się coś nie podoba.
Z punktu widzenia czytelnika tego bloga zapewne wygląda to tak jakbym zabierał się za wszystko tylko po łebkach. Może i trochę tak jest, że szybko się czymś nudzę, ale w tym przypadku chodzi o czystą ciekawość czy rzeczywiście „poważna Java” jest aż tak trudna do zrozumienia. Po miesiącu nauki stwierdzam, że nie jest to takie trudne. Oczywiście mam tutaj na myśli same podstawy języka (bez tych tysięcy bibliotek). Samo czytanie dokumentacji to już wyzwanie
Podobne wpisy:

One comment
Większość tych „dziwów” wynika z tego że PHP to dynamicznie typowany język, a Java nie.
„Na różnych mądrych forach wyczytałem, że PHP to właściwie zabawka, a prawdziwe programowanie zaczyna się dopiero od Javy. Szkoda tylko, że niektórzy nie zauważają, że “zabawki” typu Allegro napisane są w PHP.”
Ehh…