
"Pokec" o Jave - znalosti, perličky, dôležité informácie
Rozhodol som sa, že sa idem učiť Javu. Nakoľko viem o nej len to, že je multiplatformová a mám nejaké základné znalosti C++, tak to také zlé nie je so mnou. Chcel by som poprosiť ostatných programátorov, aby sa k Jave vyjadrili. Či už nejaké programátorské perličky, znalosti, dôležité veci, na ktoré treba myslieť a podobne. Hádam každý rozumie, čo tým myslím.
Ja ti jenom doporucim knihu "Myslime objektove v jazyce Java 5.0" od Rudolfa Pecinovskeho, pro zacatecnika neni nic lepsiho...
Ale je lepsie... poznas knihy od Herouta?
Keďže je Java dosť univerzálna, o čom svädčí multiplatformnosť, tak by mala byť aj takmer na všetko. Je niečo na čo je ozaj vhodné použiť iný jazyk a Jave sa radšej vyhnúť?
Nekteri lide tvrdi, ze je Java pomalejsi nez jeji konkurenti (C++,C adt.). V jinych clancich to zase vyvraceji. Ja se klonim spis k druhe skupine, ale nejsem zadny profik...viz http://java.about.com/gi/dynamic/offsite.htm?site=h ttp://www.idiom.com/%257Ezilla/Computer/javaCbenchm ark.html
java je vzdy pomalsia ako C alebo C++, lebo potrebuje pre svoj beh java runtime, ktory pri kazdom behu programu preklada symbolicky kod javy do strojoveho kodu. prelozene C a C++ je uz strojovy kod.
Nemusi to byt vzdy pravda. Sutecne dobry JIT (nemyslim JRE) ti kod optimalizuje i za behu. Navic je kod optimalizovan primo pro danou skladbu hardware, kdezto kompiler ti jej prelozi jednou pro vzdy.
tak to je slovo do bitky.
je mozne, ze ked napises zbastleny kod a pouzivas nejaky stary prekladac, ktory este nevie dobre optimalizovat kod, tak to moze mozno byt pomalsie. ale neverim tomu, ze niekto napise aplikaciu v jave, ktora bezi rychlejsie ako by som ja napisal v C(C++) a prelozil pod Visual C++. 
U Javy jde hlavne o vetsi aplikace. Nema smysl se bavit o nejaky Win32 like utilitach.
A u tech velkych aplikaci ta optimalizace hraje dost podstatnou roli - za pochodu se optimalizuji casto spoustene veci apod.
NO a ďalšia vec. Keďže je multiplatformová, tak zrejme nemôže ísť na úrpvni procesora. Nie je výrazne pomalšia oproti iným jazykom?
Java pracuje odobne jako .NET
Kod se kompiluje online a za behu se optimalizuje. Pak zalezi na tom, jak kvalitni mas behove prostredi - JIT compiler (Just In Time) a od toho se odviji rychlost.
Java je urcena spis na enterprise reseni - serverovou stranu.
pokial viem, tak java runtime preklada pri kazdom behu programu symbolicky kod do strojoveho kodu a .NET to urobi len pri prvom spusteni. dalej to uz bezi ako strojovy kod.
.NET to prelozi do MSIL, neni to nativni kod, jen jakysi "mezistupen", ktery se pak prelozi az pri behu.
to beriem, ale v .NET nepreklada sa do strojoveho kodu pri kazdom spusteni ale len pri prvom. potom to uz spusta permanentne ako cisty strojovy kod kdesi z cache. aspon tak som to kdesi cital alebo pocul.
Ano, to mas pravdu. Pak jsou prelozene veci ulozeny do cache a zabiraji dalsi desitky MB mista

A az dojde urcene misto, jsou smazany a misto nich jsou ulozeny ty, ktere zrovna potrebujes, takze pak dojde opet na preklad.
A to nemluvim o adresari \WINDOWS\assembly, ktery ma na mem, pomerne cerstve obnovenem notebooku 320MB
Tak to jednoduchoí vymaž a je to, nie? Skompiluje sa znovu alebo sa mýlim?
Nejsem si tim tak jisty, protoze jsou tam veci kolem MS SQL 2005
Budu to muset vyzkouset hodne opatrne.
Why Java Sucks for Sysadmins
javasucks.html
klasický text ohledně toho, proč java sucks. A to ne pro programátory, ale pro uživatele a správce.
Ovšem ten dokument je přes dva roky starý ...
to je. Ale přečti alespoň tři body co následují za "Other failings of Java are not intrinsic to the environment"... - to bude platit napořád..., nemluvě o dalších bodech.