Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Java IDE Einleitung

Mit freundlicher Unterstützung von Project Mojo.

IDE - Was ist das?

IDE steht für Integrated Development Environment. Es handelt sich um ein Entwicklungswerkzeug, das den Prozess der Softwareentwicklung beschleunigen soll, indem häufig auftretende Abläufe innerhalb der IDE automatisiert werden (z. B. Kompilieren, Binden und Ausführen auf Tastendruck).

Damit wird der ständige Wechsel zwischen Editor und Konsole überflüssig. Außerdem kümmert sich die IDE um die korrekte Abarbeitungsreihenfolge der Aktionen, wenn Abhängigkeiten zwischen verschiedenen Quelldateien entstehen. Der Entwickler kann sich so auf seine eigentliche Arbeit konzentrieren (Code runterhacken), ohne sich direkt mit Compilereinstellungen/Makefiles o. ä. zu beschäftigen.

IDEs besitzen meist auch einen internen Debugger, mit dem man bequem Zeile für Zeile durch sein Programm wandern kann, ohne die Entwicklungsumgebung zu verlassen. Da an großen Projekten mehrere Leute arbeiten ist ein Versionsmanagement Pflicht, um nicht untereinander in Konflikt zu geraten. Hier wird jedoch nicht eine IDE-spezifische Lösung verwendet, sondern meist nur ein Frontend zu etablierter Standardsoftware angeboten, wie z. B. CVS oder MS Visual SourceSafe.

IDE oder nicht?

Ob man eine IDE einsetzt, ist Geschmackssache und eine Frage der Arbeitsweise. Manchmal stellt sich die Frage überhaupt nicht, wenn z.B. der Arbeitgeber "vorschreibt", womit die Software entwickelt werden soll, oder wenn das System, unter dem entwickelt wird, die Wahl entsprechend einschränkt.

Die Alternative zur Benutzung von IDEs ist, Quellcode, GUIs, Makefiles etc. mit einzelnen Werkzeugen (guter Texteditor, GUI-Designprogramm, guter Texteditor etc.) zu entwickeln und dann manuell zu kompilieren und zu debuggen.

Ob man eine IDE benutzt, ist im Allgemeinen eine persönliche Entscheidung; man sollte aber auf jeden Fall die Grundlagen von IDEs verstehen, für den Fall, dass man damit irgendwann konfrontiert wird.

Vorteile von IDEs

  • einheitliche Benutzeroberfläche
  • automatisierte Abläufe (etwa für Makefiles o. ä.)
  • integrierter Debugger
  • integrierte Sprachdokumentation

Nachteile von IDEs

  • großer Ressourcenverbrauch
  • vorgegebene Abläufe, die man befolgen muss
  • überlastete Benutzeroberfläche (Menüs, Symbolleisten, Dateibrowser, Klassenbrowser, Konsole, Compilerausgabe etc.)
  • mangelnde Transparenz

Vorteile ohne IDE

  • individuelle Vorgänge, die leicht zu ändern sind
  • leichtere Austauschbarkeit von Komponenten (z. B. neuer Texteditor)
  • größere Kontrolle über alles
  • Einschränkung möglicher Fehlerquellen (IDEs haben auch Bugs ...)

Nachteile ohne IDE

  • Entwicklung kann länger dauern, weil man mehr selbst machen muss
  • bei großen Projekten kann der Überblick verloren gehen
  • weniger Festlegung von Vorgängen (potenziell schlecht, wenn mehrere Leute zusammenarbeiten)
  • verschiedene Benutzeroberflächen (Konsole für Compiler-/Makeaufrufe, Texteditor, Debugger etc.)

Beispiele

Mittlerweile existieren wahrscheinlich Hunderte verschiedener kommerzieller und freier IDEs, die mehr oder weniger Funktionalität bieten.

Das ist eine Liste einiger IDEs, mit denen man Java-Programme schreiben kann:

Siehe auch