Ostatnio głośno o Javie, na świecie - bo Sun otwiera źródła, na uczelni - bo wspólnie robią jakiś projekt w tej technologii. A mi się akurat w tym samym czasie zebrało na krytykę.
Java to dobra technologia. Użycie maszyny wirtualnej pozwala na zwiększenie bezpieczeństwa wykonywanych w niej programów, a spadek wydajności jest do zniesienia przy współczesnych maszynach. Ponadto, mniej jest miejsca na popełnienie rażącego błędu polegającego na niesprawdzeniu czy wywoływana metoda nie zakończyła się błędem - jeśli metoda może "rzucić" wyjątkiem, musi to zadekarować w nagłówku, a podczas kompilacji jej wywołania są sprawdzane pod kątem wyłapywania możliwych wyjątków - jeśli nie znajdują się w bloku "try", kompilator zgłasza błąd. Javowe programy są dość stabilne. Ponadto, Java jest językiem jednolitym. Ma swój styl kodowania, swoje nazewnictwo, klasy znajdują się w odpowiednich im plikach.
Java to niesamowicie nudna technologia. Bo dla mnie język programowania jest formą ekspresji jakiejś myśli - także sposobu jej realizacji. A Java narzuca jedynie słuszny sposób realizacji danego zadania (patrz: jednolitość). Owszem, dobre w ogromnych projektach gdzie uczestniczy wielu programistów, ale nie pozostawiające możliwości wyboru. Musisz pamiętać o dopisaniu bloku "try" wokół każdej metody mogącej wywołać wyjątek, bo się nie skompiluje. Tylko czemu wcale nierzadko spotykaną konstrukcją jest try{ (...) } catch(Exception e) {}? No i nazewnictwo plików, klasa o nazwie x musi być umieszczona w pliku x.java - można przeboleć, ale mało to wygodne w edycji.
Podsumowując: Moim zdaniem, Java to język dla robotów tudzież hinduskich programistów zatrudnionych w hangarach za dolara dziennie. Wszelkie przejawy kreatywności są w nim zabijane, albo wiążą się z obchodzeniem sztucznych przeszkód. Zapraszam do flame'a w komentarzach ;)
