1.7 Entwicklungsumgebungen im Allgemeinen 

Als Laufzeitumgebung ist das JRE geeignet, und mit dem JDK können auf der Kommandozeile Java-Programme übersetzt und ausgeführt werden – angenehm ist das nicht. Daher haben unterschiedliche Hersteller in den letzten Jahren einigen Aufwand getrieben, um die Java-Entwicklung zu vereinfachen.
1.7.1 Die Entwicklungsumgebung Eclipse 

Seit Ende 2001 arbeitet IBM an der Java-basierten Open-Source-Software Eclipse (http://www.eclipse.org/) und löst damit die alte WebSphere-Reihe und die Umgebung Visual Age for Java ab. (Eclipse steht unter der Common Public License.) 2003/2004 führte IBM mit der Eclipse Foundation ein Konsortium ein, das die Weiterentwicklung bestimmt. Diesem Konsortium gehören unter anderem die Mitglieder BEA, Borland, Computer Associates, Intel, HP, SAP und Sybase an.
Eclipse macht es möglich, Tools verschiedenster Hersteller zu integrieren. Viele Anbieter haben ihre Produkte schon für Eclipse angepasst, und die Entwicklung läuft weltweit in einem raschen Tempo. Da Suns IDE NetBeans ebenfalls frei ist und um andere Fremdkomponenten bereichert werden kann, zog sich IBM den Groll von Sun zu. Sun wirft IBM vor, die Entwicklergemeinde zu spalten und noch eine unnötige Entwicklungsumgebung auf den Markt zu werfen, wo doch NetBeans schon so toll ist. Nun ja, die Entwickler haben entschieden. Eine Umfrage 2005 von Developer.com setzte Eclipse als »Entwicklungswerkzeug des Jahres« an den ersten Platz. Beim »Java Developer’s Journal Readers’ Choice Awards« 2005 ist Eclipse gleich bei mehreren Kategorien an erster Stelle: Best Java Application, Best Team Development Tool, Most Innovative Java Product, Best Java Debugging Tool. Eine Statistik (mit Mehrfachnennungen) von ONJava-Lesern zeigt für das Jahr 2004, dass mehr als 70 Prozent mit Eclipse arbeiten, 27 Prozent mit Editoren wie Emacs oder Notepad und 20 Prozent mit NetBeans. »Sonstige« kommen auf 5 – 15 % (etwa JBuilder).
Eclipse hat gegenüber anderen Umgebungen den Vorteil, dass der Editor besonders Sprach-einsteigern hilft, sich mit der Syntax anzufreunden. Dazu unterkringelt Eclipse ähnlich wie moderne Textverarbeitungssysteme fehlerhafte Stellen. Zusätzlich bietet die IDE die notwendigen Hilfen beim Entwickeln, wie etwa farbliche Hervorhebung und automatische Codevervollständigung. Eclipse setzt auf dem Java SDK auf und nutzt somit immer die neuesten Java-Versionen beziehungsweise beliebige andere Java-Umgebungen.
Eclipse ist ein Java-Produkt mit einer nativen grafischen Oberfläche, das erstaunlich flüssig seine Arbeit verrichtet – genügend Speicher vorausgesetzt (>512 MB). Die Arbeitszeiten sind auch deswegen so schnell, weil Eclipse mit einem so genannten »inkrementellen Compiler« arbeitet. Speichert der Anwender eine Java-Quellcodedatei, übersetzt der Compiler automatisch diese Datei. Dieses Feature nennt sich »autobuild«.
1.7.2 NetBeans von Sun 

In den Anfängen der Java-Bewegung brachte Sun mit der Software Java-Workshop eine eigene Entwicklungsumgebung auf den Markt. Die Produktivitätsmöglichkeiten waren jedoch gering. Das änderte sich, als Sun im August 1999 das kalifornische Softwarehaus Forte übernahm und damit wieder eine bedeutendere Rolle bei den Java-Entwicklungsumgebungen übernahm. Sun interessierte sich besonders für Fortes Produkt SynerJ, das im Kern die IDE enthält. Später wurde das Produkt als NetBeans IDE (http://www.netbeans.org/) gekannt. NetBeans bietet komfortable Möglichkeiten zur Java SE-, Java ME- und Java EE-Entwicklung mit Editoren und Wizards für die Erstellung grafischer Oberflächen von Swing und Web-Anwendungen.
1.7.3 Ein Wort zu Microsoft, Java und zu J++ 

Microsoft hat sich aus der Java-Entwicklung nahezu vollständig zurückgezogen, aber in der Anfangszeit einigen Wirbel verursacht. Grund dafür ist, dass Applikationen, die unter dem Microsoft Development Kit erstellt wurden, nicht zwangsläufig auf anderen Plattformen lauffähig sind. Microsoft führte gegen alle Standards in ihrem J++-Compiler neue Schlüsselwörter multicast und delegate ein. Weiterhin fügte Microsoft einige neue Methoden und Eigenschaften hinzu, zum Beispiel J/Direct, um der plattformunabhängigen Programmiersprache den Windows-Stempel zu verpassen. Mit J/Direct können Programmierer aus Java heraus direkt auf Funktionen aus dem Win32-API zugreifen und damit reine Windows-Programme in Java programmieren. Durch Integration von DirectX soll die Internet-Programmiersprache Java multimediafähig gemacht werden.
Suns Produkte, die JNI und RMI nutzen, laufen nicht mit dem IE 4.0 zusammen. Wegen dieser Unregelmäßigkeiten darf Microsoft nach richterlicher Anordnung das Java-Logo nicht mehr in seinen Produkten führen und auch nicht mehr damit werben. Jetzt droht Microsoft natürlich damit, künftige Java-Versionen nur noch bedingt zu unterstützen. Ungefähr zeitgleich nahm Microsoft alle Java-Applets von seinen Webseiten – offiziell wegen mangelnder Geschwindigkeit. Da auch der Netscape Navigator Java nicht zu 100 % unterstützt, wurde das Java-Logo aus diesem Internet-Browser ebenfalls entfernt, um einer Klage im Vorfeld aus dem Weg zu gehen. Letztlich hat sich Sun aber durchgesetzt, und Microsofts Java-Variante J++ darf das geschützte Label »100 % Java kompatibel« nicht mehr benutzen.
Da es Sun in der Vergangenheit finanziell nicht besonders gut ging, pumpte Microsoft im April 2004 satte 1,6 Milliarden US-Dollar in die Firma. Microsoft erkaufte sich damit das Ende der Kartellprobleme und Patentstreitigkeiten. Dass es bis zu dieser Einigung nicht einfach war, zeigen Aussagen von Microsoft-Projektleiter Ben Slivka über das JDK beziehungsweise die Java Foundation Classes, man müsse sie »bei jeder sich bietenden Gelegenheit anpissen« (»pissing on at every opportunity«). [Würden wir nicht gerade im westlichen Kulturkreis leben, wäre diese Geste auch nicht zwangsläufig unappetitlich. Im alten Mesopotamien steht »pissing on« für »anbeten«. Da jedoch die E-Mail nicht aus dem Zweistromland kam, bleibt die wahre Bedeutung wohl unserer Fantasie überlassen. ]