Cruz: Engagement der ASF bzgl. Java - Verh. Perl u. PHP

Beitrag lesen

Hallo,

Java wird in der Regel 'just in time' - d.h. zur Laufzeit - kompiliert und ermöglich so Optimierungen, die bei statischer Kompilierung unmöglich sind. Daher _kann_ Java in Grenzfällen sogar schneller als C sein.

Erm, Java wird grundsätzlich erstmal in Bytecode übersetzt und ist somit bereits vor der Laufzeit fertig für die VM kompiliert. Was Java "just in time" macht ist es Klassen zu laden, was das ganze eher langsamer macht, als schneller, aber wohl etwas Speichereffizienter ist, falls eine Klasse doch mal nicht gebraucht wird. Aber dagegen wirkt der Effekt, dass OO Programmierung sowieso grundsätzlich mehr Speicher braucht.

Um ein Gefühl dafür zu entwickeln, habe ich mal ausprobiert, wie viel Speicher ich in Java und in C in 10 Millisekunden kopieren kann. In Java kam ich auf etwa 8 MB, in C ist mir der zugewiesene Speicherplatz ausgegangen, bevor die 10 Millisekunden rum waren. Java ist schnecken langsam im Vergleich zu C. Das einzige, wofür Java wirklich gut ist, dass es eine schön saubere Syntax hat und man damit mit den entsprechenden Tools (z.B. Eclipse) unglaublich schnell und agil entwickeln kann. Du kannst quasi schon per drag and drop deinen Code strukturieren bzw. refakturieren und per Autovervollständigung steht die Syntax ratz fatz auf dem Bildschirm. Aber gerade wegen der unglaublichen Lahmarschigkeit hat sich Java nie als eine Sprache für Anwendungen durchgesetzt, oder habt ihr schon mal eine befriedigend schnelle Swing Oberfläche gesehen?

Ich behaupte sogar, dass Perl und PHP schneller laufen, als Java. Es sind interpretierte Sprachen, d.h. sie werden bei jeder Ausführung erstmal übersetzt, aber dann laufen sie in Form von Maschinencode ab und das ist schnell, anstatt in einer lahmarschigen VM verpackt zu sein. Diese Behauptung kann ich allerdings nicht mit einem Test untermauern.

Ich finde was der Welt noch fehlt ist eine Programmiersprache, die so schön ist wie Java, aber direkt in Maschinencode kompiliert wird, damit es trotzdem schnell läuft, und natürlich nicht nur auf Betriebssystemen von Microsoft lauffähig ist.

Gruß,
Cruz