Java und Open Source
Java und Open Source
Heute lesen wir, dass Java als Sprache für das Web entwickelt wurde. Warum sieht man heutzutage immer weniger Applets im Internet?
Applets werden in der Praxis tatsächlich viel weniger genutzt als es eigentlich möglich wäre. Das liegt vermutlich daran, dass alternativ auch das Java Network Launching Protocol (JNLP-Java Webstart) eingesetzt werden kann. JNLP ermöglicht Desktop-Applikationen den Zugriff auf das Web. Viele Anwender setzen bei Enterprise-Applikationen mittlerweile auf diese Technik. Zudem fehlen immer noch Tools, die Applets generieren. Dennoch ist der Einsatz von Java-Applets eine effektive Möglichkeit, leistungsvolle Web-Anwendungen zu entwickeln.
Das .NET-Framework profitiert stark von den zahlreichen Visual-Basic-Entwicklern. Wie sehr wird sich Java für andere Sprachen öffnen, um noch mehr Verbreitung zu finden?
Die Java Runtime unterstützt ja bereits viele Sprachen, und auch die Compiler dafür sind erhältlich. So gibt es Implementierungen für Python und Ruby, welche die Java Virtual Machine (VM) nutzen und nebenbei eine erstaunliche Performance bieten. Mit JavaFX Script haben wir jetzt eine neue Skriptsprache angekündigt, die auf die Oberflächenentwicklung abzielt. Die Java-Plattform bietet interessante Möglichkeiten für Interoperabilität zwischen allen möglichen Skriptsprachen. Java selbst ist besonders für Enterprise-Lösungen geeignet. Diese lassen sich jetzt sehr leicht mit Skriptsprachen zusammenführen. Alle Skriptsprachen, die auf der VM laufen, haben Zugriff auf sämtliche APIs und können zudem gegenseitig aufeinander zugreifen. So lassen sich zum Beispiel Ruby und Python gleichzeitig in einer Anwendung verwenden.
Es gilt als offenes Geheimnis, dass Microsoft bei der Entwicklung von C++ sehr viel von Java abgeschaut hat. Was haben Ihrer Meinung nach die Entwickler von C++ trotzdem falsch gemacht?
Bei der Entwicklung von C++ wurde ein Grossteil der Java-Spezifikationen schlicht und einfach nur kopiert. An der Plattform-unabhängigkeit wurde jedoch völlig vorbeientwickelt. Zudem hat man zu wenig Wert auf die Sicherheitsaspekte gelegt. Die gesamte Pointer-Problematik wurde aus C und C++ übernommen, um zu diesen Sprachen kompatibel zu sein. Das heisst, es wurden alle Altlasten dieser Sprachen übernommen, was eine entscheidende Sicherheitslücke darstellt. Zuverlässigkeit und Sicherheit sind sehr kritische Themen, auf die wir sehr grossen Wert gelegt haben.
Gibt es auch an Java etwas, das Sie ändern würden, wenn Sie noch einmal zehn Jahre zurückgehen könnten?
Das ist schwer zu sagen. Natürlich gibt es Dinge, die wir gerne schon viel früher umgesetzt hätten, wie zum Beispiel die Generics. Auch in der Vergangenheit wurde bereits heftig über Features diskutiert. Sicher wäre es optimal, alles bereits in der ersten Version haben zu können. Aber damals wie heute ist Entwicklung immer ein Kompromiss zwischen Funktionsumfang und zeitlicher Machbarkeit. Letztlich bin ich der Meinung, dass wir einen guten Job gemacht haben.