Java aneb SUN dostal Billa
-=-=-=-=-=-=-=-=-=-=-=-=-=-=
In a five year period we can get one superb programming language. Only we
can't control when the five year period will begin.
Marek Fikera, 6. ledna 1998
12.prosince již tomu byly dva roky co Sun Microsystems,
zveřejnil Beta 2 verzi JDK (Java Developer's Kit) a zanedlouho Randy
Chapman portoval JDK 1.0 pro Linux.
Java je programovací jazyk vycházející z C/C++, ale je na rozdíl
od svého univerzálního vzoru určena především pro Internet a síťe
založené na jeho principech. Samozřejmě dají se v ní programovat
běžné aplikace, ale nedostanete takové výsledky, jako když
onen program napíšete v Perlu nebo C. To je ovšem nutná daň
za "platformovou nezávislost". Ona zmiňovaná platformová nezávislost
spočívá v tom, že je to jazyk interpretovaný. Interpret se nazývá
Java Virtual Machine (VM).
Nyní se podíváme na několik základních implementací Javy pro
Linux. Konkrétně na JDK, Guavac a Kaffe. Všechny tyto implementace
podporují verzi Javy a kompatibilní s JDK 1.1.3. Ale tato verze
není bohužel poslední, poslední je JDK 1.2 Beta 2 snad se i my brzy
dočkáme.
- JDK obsahuje překladač javac, interpreter java, prohlížeč apletů
appletviewer, dokumentační prostředek javadoc, ladící prostředek
jdb a spoustu dalších utilitek. Za zmínku však stojí to,
že překladač je také napsán v Javě, narozdíl od Guavac. To má
však za následek, že je ovšem nejpomalejší. Podrobnější informace
naleznete na adrese http://www.blackdown.org/java-linux.html.
- Guavac je pouze překladač. Což značí, že vám nebude stačit
pro používání Javy. Jste pouze schopni přeložit zdrojový kód
do nezávislého kódu (bytecode), ale již nejste schopni si
výslednou aplikaci spustit. Více informací naleznete na adrese
http://http.cs.berkeley.edu/engberg/guavac/.
- Kaffe obsahuje prekladač javac, interpreter java a dokumentační
prostředek javadoc. Kaffe se liší od JDK změněnou VM a podporou
JIT (Just-In-Time). JIT znamená konverzi z abstraktního kódu
(bytecode) do nativního kódu. Aplikace přeložené pomocí JIT běží
zhruba 5-krát rychleji, než aplikace přeložené klasickou cestou,
tedy bez JIT. Kaffe ovšem pro svůj běh potřebuje soubor
classes.zip ze standardního JDK. Bližší informace naleznete na
adrese http://www.kaffe.org/.
Na závěr malinké srovnání Guavac a kaffe. JDK nemá smysl
zahrnovat, poněvadž dosahuje obdobných výsledků jako kaffe.
Testovací třída:
public class Test {
public static void main(String argv){
System.out.println("Hello World");
}
}
Velikost po překladu zdrojového textu (103 bytů) pomocí Guavac
byla 405 bytů, po překladů pomocí Kaffe byla velikost 459 bytů.
Překlad pomocí Kaffe s parametrem -O dával velikost 413 bytů.
Guavac potřeboval na kompilaci 3 sekundy (41% CPU), zatímco
kaffe 12 sekund (99% CPU).
Více o Javě se můžete dozvědět na adrese http://www.javasoft.com
nebo na http://www.blackdown.org/java-linux.html.
výheň