abgdf schrieb:Java erinnert mich irgendwie immer an Halbautomatik: Interpretiert und langsam, aber trotzdem kompilieren müssen und noch nicht mal weniger Code schreiben müssen als in C++ (was ja sonst der große Vorteil von interpretierten (Skript-)Sprachen ist). Und dazu (zumindest bislang) sogar noch proprietär.
Keine Ahnung, warum Leute sowas benutzen :roll:.
Viele Grüße
Java wird schon seit langer Zeit nicht mehr interpretiert, sondern von der ExecutionEngine Just in Time kompilliert. Leider scheint das an den meisten vorbeigegangen zu sein. Die Ausführungszeit ist über die Jahre hinweg deutlich besser geworden und ist sogar mit c++ vergleichbar (wenn zumindest keine GUI-Elemente ins Spiel kommen).
http://www.freewebs.com/godaves/javabench_revisited/
Java ist eben keine Skriptsprache, sondern eine vollwertige Programmiersprache. Das "kompillieren" ist doch kein Nachteil, wenn die Java-Sourcen in ein unabhängigse class-Format gespeichert wissen. Hier hilft es, wenn man grob die Funktionsweise der virtuellen Maschine (JVM) versteht. Durch die kompillierte Datei ist eine Umsetzung des Bytecode auf systembedingten assemblycode performant möglich. Zur Arbeitsweise der JVM kann ich folgendes Buch empfehlen
Wer sich mehr mit Java beschäftigt wird auch den Vorteil des reibungslosen Updaten (on the fly) von Class-Dateien schätzen.
http://java.sun.com/docs/books/jvms/
Übrigens bietet die "geschützte" Java-Umgebung (in der JVM) zusätzliche Sicherheit bei der Ausführung von Programmen.
Es sind halt die vielen kleineren Dinge, die die Sprache so elegant machen.
Das proprietäre Argument kann ich nicht vollständig nachvollziehen. Zwar gibt es mit gcc einen freinen C-Compiler, aber gängige andere Compiler anderer Firmen sind auch nicht in den Quellen frei und werden oft für Softwareentwicklungen eingesetzt. Dem eigentlichen Entwickler kann es doch größtenteils sowieso egal sein, er entwickelt in der Regel seine Software mit einer Sprache und nicht für eine Sprache.
Die Spezifikationen der JVM waren übrigens schon immer frei, das sieht man an den vielen frei verfügbaren Implementierungen einer JAVA VM. Nur die offizielle SUN-Java-Version war bis vor kurzem noch nicht vollständig frei verfügbar. Dank IcedTea ist das openJDK jetzt vollständig frei.
Mehr infos zum freien Java:
http://openjdk.java.net/
Keine Ahnung, warum Leute sowas benutzen .
Weil die Sprache unheimlich flexibel ist, weil es so viele hochqualitative frei verfügbare APIs gibt. Weil mit JAVAEE hervorragend betriebliche Informationssysteme geschaffen werden können.