Specializovan² t²denφk o v²poΦetnφ technice o Internetu (CW 39/97) Java a jeÜt∞ jednou Java
Java School byl nßzev seminß°e, kter² v budov∞ b²valΘho ┌KDÄ spoleΦn∞ po°ßdaly firmy Borland, Oracle a Sun. Krom∞ konkrΘtnφch ukßzek programovßnφ v Jav∞ a prßce s v²vojov²m nßstrojem JBuilder (zm∞ny ve vizußlnφm nßvrhu se samoz°ejm∞ ihned projevujφ v k≤du, ale provßzanost je i opaΦnß, co₧ nenφ u v²vojov²ch nßstroj∙ zcela b∞₧nΘ; navφc je zde mo₧nΘ vhodn∞ simulovat browser pomocφ applet vieweru) se hovo°ilo i o zßle₧itostech pon∞kud obecn∞jÜφch. Na prezentaci vystoupili mj. °editel Borlandu Richard Kubßt, marketingov² mana₧er Sunu Michael Bernßt a marketingov² mana₧er Oraclu Libor MoÜovsk².
Jak je na tom Java dnes Vztah v²vojß°∙ k Jav∞ je dnes limitovßn mnoha faktory. Na jednΘ stran∞ se tomuto programovacφmu jazyku p°iklßdß znaΦnß budoucnost vzhledem k nezßvislosti javy na operaΦnφm systΘmu. Na druhΘ stran∞ vÜak dnes Java mezi v²vojß°i jeÜt∞ nenφ p°φliÜ rozÜφ°ena. Tento jev mß °adu p°φΦin: v²vojß°i uvßd∞jφ mezi jin²m nedostatek v²vojov²ch nßstroj∙, problΘm v²konu aplikace, problΘmy s virtußlnφmi stroji (JVM -- Java Virtual Machine). Aktußlnφm ·kolem firem usilujφcφch o co nejv∞tÜφ rozÜφ°enφ Javy je jejφ propojenφ s databßzov²mi aplikacemi. Firma Oracle proto plßnuje integrovat JBuilder (i C++ Builder) do svΘho softwaru, konkrΘtn∞ do Oracle Designeru a Oracle Developeru. Tvorb∞ databßzov²ch aplikacφ v Jav∞ byla v∞novßna i znaΦnß Φßst seminß°e (Prost°edφ, kde se SQL p°φkazy p°eklßdajφ do javovΘho k≤du. Oraclovsk² Web Application Server ve verzφch 2.0, 3.0 a 3.1.). Seminß° se krom∞ jinΘho v∞noval i nejΦast∞jÜφm omyl∙m spojen²m s Javou a jejich uvedenφ na pravou mφru. Podφvejme se na n∞kolik z nich.
"Pomalost" javov²ch aplikacφ Fakt, ₧e javovΘ programy jsou obecn∞ pomalejÜφ ne₧ v C++, je danφ za platformovou nezßvilost. Toto zpomalenφ je ovÜem s tφm, jak stoupß kvalita JVM, stßle menÜφ. Zatφmco d°φve byl virtußlnφ stroj "zakonΦen" interpreterem, nynφ se pou₧φvß spφÜe JIT (Just In Time) compiler∙, jejich₧ kvalita prßv∞ rozhoduje o rychlosti provßd∞nφ programu. Rychlost aplikace lze zv²Üit dφky multithreadingu (tak₧e nap°. WWW servery napsanΘ v Jav∞ pat°φ k nejrychlejÜφm na sv∞t∞).
Prßce s pam∞tφ SkuteΦnost, ₧e javovß aplikace nemß p°φm² p°φstup do pam∞ti, p°edstavuje velkou v²hodu; prßv∞ tato vlastost je p°itom p°i programovßnφ v C/C++ zdrojem Φast²ch chyb (v Jav∞ nem∙₧e b²t objekt zruÜen, dokud na n∞j n∞co ukazuje). ╚inφ takΘ k≤d p°ehledn∞jÜφ (i kdy₧ na druhΘ stran∞ s sebou nese dalÜφ zpomalenφ).
PlnohodnotnΘ aplikace ╚ast²m omylem je p°esv∞dΦenφ, ₧e v Jav∞ nenφ mo₧nΘ psßt plnohodnotnΘ aplikace, ale pouze applety, kterΘ vzhledem k bezpeΦnostnφm omezenφm nemohou pracovat se soubory. To ovÜem nenφ pravda. "Standardnφ" programy se p°itom nespouÜt∞jφ v prost°edφ prohlφ₧eΦe (t°eba₧e i to je mo₧nΘ), ale pomocφ voln∞ Üi°itelnΘho JRE (Java Runtime Environment), kterΘ se obvykle dodßvß spolu s aplikacφ. Za bezpeΦnostnφ politiku v Jav∞ (ochrana p°φstupu k pam∞ti, soubor∙m a sφ¥ov²m slu₧bßm) je odpov∞dn² tzv. class verifier (souΦßst JVM).
ProΦ se uΦit dalÜφ jazyk? Jazyk Java byl navr₧en tak, aby programovßnφ v n∞m bylo maximßln∞ jednoduchΘ. Rovn∞₧ jsou odstran∞ny mnohΘ p°φΦiny Φast²ch chyb z programovßnφ v jazycφch C/C++ (odkazy na neexistujφcφ objekt). K≤d je dob°e p°ehledn². Silnß typovß kontrola zp∙sobuje znaΦnou odolnost proti chybßm. S trochou nadsßzky lze °φci, ₧e programßtor se nemusφ uΦit nic novΘho a javovΘmu k≤du rozumφ, pouze musφ "zapomenout" vÜe, co je p°i programovßnφ v Jav∞ nep°φpustnΘ. K dalÜφm v²hodßm Javy pat°φ jednoznaΦnß vazba na Internet.
Programovßnφ v Jav∞ bude i v CW V∞tÜina p°ednßÜek seminß°e Java School byla dφlem Davida ètrupla, jednoho z p°ednφch Φesk²ch specialist∙ na Javu. A ji₧ od p°φÜtφho Φφsla zaΦne v Computerworldu v rubrice Internet vychßzet serißl o programovßnφ v tomto jazyce. Je urΦen p°edevÜφm v²vojß°∙m, ale m∞l by pomoci i t∞m, kdo cht∞jφ Javu pou₧φvat "na hranφ" bez toho, aby p°itom byli nuceni proniknout do hloubky. Nenechte si proto tento serißl rozhodn∞ ujφt.
(pah)
| <<< | CW o Internetu | COMPUTERWORLD | IDG CZ homepage | |