A jako proc?
Slozita kompilace – v cem?
Ubohy vykon – v cem? Ze je java 1.1× – 1.3× pomalejsi?
Hnusna syntaxe – tak programujte v pythonu nebo ruby, ale pak se tesim na stiznosti s vykonem :-) Na syntaxi zalozenou na C nevidim nic spatneho.
Tisice knihoven, projektu a produktu i v OSS bych nepovazoval za pouhy vysledek marketingu.
Slozita komilace: porovnejte s pythonem. Ten si kompiluje v tichosti, aniz by o tom kdo vedel. Proste spustim skript.
Ubohy vykon: porovnej s C, C++ nebo D. Vykon javy je srovnatelny s pythonem.
Hnusna syntaxe: Ano syntaxe zalozena na C/C++ je spatna a matouci.
Knihovny: zkuste si napsat v Jave programek, ktery spusti nejaky proces s casovym limitem a zachytte jeho standartni vystup a standartni chybovy vystup (oboji libovolne delky). Pri tomto cviceni pochopite, ze trida java.lang.Process je koncepcne spatne navrzena. Totez plati o X dalsich tridach (napriklad na praci s LocalTime). Soudruzi v SUNu bohuzel napachali hodne chyb, ktere si pak koncovi vyvojari uzivaji.
Navic moudro/motto javy: „Write once, run everywhere.“ lze brat pouze s humorem.
Teda s Javou jsem po x-letech vyvoje bojoval mnohokrat, ale zrovna slozita kompilace je ten naprosto nejmensi problem, vzdyt snad nikdo to nemusi delat rucne a skoro 100% to taky nikdo rozumny nedela, minimalne si napise asi petiradkovy makefile kdyz uz nic jineho (automaticky preklad v IDE napriklad).
Vykon srovnatelny s Pythonem – dukaz pls. Java s JITem muze byt a nekdy take je rychlejsi nez C/C++ veci, coz mozna ze zacatku pripada jako maly zazrak, ale kdyz se podivate napriklad na praci s pameti, tak se to vysvetluje.
Ze jsou nektery knihovny, hlavne ty starsi, spatne navrzene, to je ovsem mega pravda, souhlasim.