![]() 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 | |