Napisalem wczesniej, ze te dekoratory nie sa zle, na pewno nie fatalne, daja pelna moc. Jednak, jest to dluga i ciezka droga mocy prawowitego Jedi; czego brakuje to mozliwosc tymczasowego przejscia na ciemna strone aby zrobic w paru linijkach to co w danej chwili jest potrzebne, np jakis prototypik. Niech te dekoratory zostana; niech dodadza fasady.
Co do reszty biblioteki - jest wiele tragicznych API w Javie, np. java.util.Date oraz java.util.Calendar. Super przestarzaly Swing plus tony java.awt ktory ma klasy dla eventow i layoutow, ale reszty sie juz nie uzywa (chodzi mi o java.awt.Button i inne). Przetwarzanie kolekcji wymaga za kazdym razem pisanie petli for each lub while z iteratorem, java.util.Collections i jej statyczne metody niewiele pomagaja (na szczescie jest google-collections czy nowsze google-guava, ale tam tez same statiki bo inaczej sie nie da; mieli z Javie dorobic 'rozszerzanie interfejsow' z domyslnymi implementacjami aby utrzymac kompatybilnosc wsteczna, ale padlo bo 'za duzo za nowe'). java.util.logging i ich kadlubkowe loggery, ktore sa konfigurowane w pliku raz na typ, nie raz na instancje. Nie chce mi sie dalej wymieniac bo za dlugi post wyjdzie.
Kazda z tych funkcjonalnosci ma jakas bilioteke ktora mozna sciagnac z zewnatrz (JodaTime, wspomniane google, logback, slf4j, poroniona commons-logging, ...). Do tego, kazdy jar moze miec inna licencje.
Ale nie chodzi tu o biblioteke standardowa; chodzi o jezyk ktory jest z poprzedniej epoki. Czy ktos z czytajacych ten watek i moje wypociny potrafi porzadnie, poprawnie programowac z genericsami? Mnie wielokrotnie przerastaja, moze glupi jestem. Czy to jest dobra funkcjonalnosc? Nie, zostala uposledzona juz przy incepcji, gdy powiedziano ze wspolistnieja z raw types, nie sa reifikowalne itp itd, aby byla kompatybilnosc wstecz. Jeden z czlonkow zespolu (Martin Odersky, tworca Scali) na wykladzie na ktorym bylem zapytany o to przeprosil za to co zrobili.
Nie jestem jedyny ktory ma z tym problem. Dlatego powstaja inne jezyki, jak wiele wspomnianych. JBoss teraz wymysla jakis nowy (project Ceylon) ktory wyglada ciekawie, ale ma pewne 'odchylenia od normy' i dla ludzi ktorzy siedza tylko i wylacznie w Javie jest nie do zaakceptowania.
@iooi: przyznaj sie jesli masz odwage, w ilu jezykach programowania potrafisz cos konkretnego napisac? Nawet traktujac jazyki z kategori c-pochodnych/podobnych jako osobne - maja co prawda ten sam paradygmat i podobne podejscia, nic tam nie ma odswiezajacego (no moze C/C++ i wskazniki, i elementy programowania funkcyjnego ze wskaznikami na funkcje / metody). Z tego co mowisz wynika ze znasz tylko Jave, w przeciwnym wypadku bylbys swiadomy jej brakow.
Szkoda ze Wibowit sie nie dolaczyl ze swoimi przykladami w / argumentami za Scala - to jest dopiero ciekawy jezyk, dajacy wielkie mozliwosci. Poucz sie, poznaj, poprogramuj, i wroc do Javy. Zbierze sie na wymioty.