Begeisterung und gedämpfter Optimismus

27.09.1996

Arthur van Hoff hat bei Sun den Java-Compiler entwickelt (siehe Interview der Woche, Seite 8). "Java ist das Ziel, aber noch nicht die Lösung, ein Versprechen für eine bessere Softwarewelt", lautet sein Credo. Das Java-Design sei einfach. Trotzdem gewähre die Sprache Plattformunabhängigkeit und Stabilität. Sie ermögliche vernetzte Applikationen und benötige wenig Hardwareressourcen.

Java schütze etwa davor, Programmierfehler zu machen, durch:

Null Pointer Checking Array Bounds Checking eine strenge Typisierung das Fehlen von Pointer-Arithmetik Exceptions Multi-Threading: Gerät ein Programmteil durch Programmierfehler in eine Endlosschleife, wird nicht automatisch die gesamte Anwendung unbrauchbar automatisches Locking Garbage Collection sowie Byte-Code-Verifizierung.

Java sei plattformunabhängig durch:

strenge Semantik-Regeln, die auf jedem Rechner eingehalten werden müssen die virtuelle Maschine sowie durch Byte-Code-Kompilierung und Betriebssystem-Bibliotheken.

Außerdem sei die Performance für eine interpretierte Sprache mittlerweile gut. Zuvor sei sie zehn- bis zwanzigmal langsamer gewesen als ein C-Programm. Durch neue Jit-Compiler habe sich das Verhältnis auf den Faktor zwei bis drei reduziert. Zudem biete Microsoft etwa eine sehr ausgefeilte Garbage Collection an. Für eine Transaktion benötigt man damit noch ein bis zwei Millisekunden.

Stephan Wolf, Geschäftsführer der Innovative Software GmbH, Frankfurt, der eine Java-Anwendung vorstellte (mehr dazu in der kommenden Ausgabe), ist zwar ebenfalls ein Java-Fan, doch zugleich der Meinung : "Auch diese Entwicklungen kosten Geld, Zeit und Nerven." Hier ist seine Mängelliste:

Die Dokumentation von Werkzeugen, Bibliotheken und APIs ist nachlässig, unvollständig und fehlerhaft. Es gibt keinen direkten Zugriff von der Sprache auf die Daten. Multithreaded Applikations-Aufrufe sind lediglich über CGI-Bin möglich - mit dem Overhead eines Programmstarts.Die Datentypkonvertierung macht Probleme. Aufwendige GUIs erfordern mehr Bandbreite bei der Übertragung, als heute in der Regel zur Verfügung steht.Die JIT-Compilierung bringt nicht den erhofften Geschwindigkeitszuwachs.Zur Zeit steht nur ein 8-Bit-Soundformat, Exponentialausgabe von Fließkommazahlen zur Verfügung. Zudem gibt es keinen adäquaten Layout-Manager für das Masken-Design.