1.8 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. Moderne Entwicklungsumgebungen bieten gegenüber einfachen Texteditoren den Vorteil, dass sie besonders Spracheinsteigern helfen, sich mit der Syntax anzufreunden, denn der Eclipse unterkringelt ähnlich wie moderne Textverarbeitungssysteme fehlerhafte Stellen. Zusätzlich bieten die IDEs die notwendigen Hilfen beim Entwickeln, wie etwa farbliche Hervorhebung, automatische Codevervollständigung und Zugriff auf Versionsverwaltungen.
1.8.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. 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 steht heute unter der Common Public License und ist als quelloffene Software für jeden ohne Kosten zugänglich.
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« auf den ersten Platz. Bei den »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 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.8.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 spielte. 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/) bekannt. 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. Sun ist sehr experimentierfreudig und unterstützt eine Reihe von Bibliotheken und Frameworks, die noch nicht abgeschlossen sind.
Je nach Anwendungsgebiet gibt es von NetBeans unterschiedliche Bundles. Die wichtigsten »NetBeans Packs« (http://tutego.com/go/getnetbeans) sind:
- Java SE. Enthält mit 39 MB alles Nötige zur Entwicklung von Java SE-Anwendungen.
- Java. Bietet neben der Kern-IDE Tools zur Entwicklung von Web- und Java-Enterprise-Anwendungen. Integriert in den 212 MB auch den Servlet-Container Tomcat und den Java EE Application Server GlassFish.
- All. Enthält in 249 MB alles, auch Werkzeuge für Ruby, PHP un C(++), aber (bisher) nicht Java FX.
1.8.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 seinem 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.
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 gewesen 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.]