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: Unterschied zwischen den Versionen

K (Links unten hinzugefügt)
(Umformuliert.)
Zeile 1: Zeile 1:
- Mit freundlicher Unterstützung von Project Mojo-
+
''Mit freundlicher Unterstützung von Project Mojo.''
  
===1 Einleitung===
+
== 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).
  
Ob man eine IDE einsetzt oder nicht ist Geschmackssache oder eine Frage der Arbeitsweise. Manchmal stellt sich die Frage überhaupt nicht, wenn z.B. der Arbeitgeber "vorschreibt" womit die Software entwickelt werden soll. Es gibt Leute die bevorzugen einen Texteditor um die totale Kontrolle über den Entwicklungsprozess zu behalten (keep your hands dirty) auf der einen Seite und dann gibt es andere, die möglichst schnell zum Ziel kommen wollen und den komfortablen Arbeitsablauf in einer IDE schätzen.
+
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.
  
Ich habe, wie wahrscheinlich jeder am Anfang, mit einem Texteditor losgelegt. Dazu ist zu sagen, dass damals noch nicht soviel auf dem Markt der Entwicklungswerkzeuge los war und jede Programmiersprache ihre eigene Oberfläche mitbrachte. Ich sage nur QuickBasic, Turbo Pascal, C, usw. Moment, das stimmt jetzt nicht ganz. Fast jede Sprache brachte ihre Oberfläche mit. Ich habe damals ziemlich viel mit Assembler gemacht. Muss ich dazu mehr sagen? ;)
+
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.
  
Jedenfalls möchte man ja auch mal etwas vorankommen und man verwendet C++ oder JAVA; spätestens dann an der Uni. Bei Objekt Orientierter Programmierung begegnen einem die besagten Tools dann zwangsläufig. So habe ich längere Zeit mit Visual Studio bzw. JBuilder gearbeitet bevor ich trotz C++/JAVA wieder teilweise beim Texteditor landete und parallel dazu verstärkt Eclipse einsetze.
+
== 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.
  
Anhand dieser Entwicklung wollte ich ein wenig darüber berichten welche Vor- und Nachteile beide Seiten mit sich bringen. Mir ist klar, dass jeder seinen persönlichen Entwicklungsstil, entsprechende Prinzipien, anderen Background, etc. hat und die Entscheidung "IDE und wenn ja welche?"/Texteditor nichts über die Programmierfähigkeiten/erfahrung bzw. den Umgang mit Entwicklungswerkzeugen aussagt. So sollten die hier dargestellten Erfahrungen auch aufgefasst werden.
+
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.
  
===1 IDE - Was ist das?===
+
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.
  
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).
+
=== Vorteile von IDEs ===
 +
* einheitliche Benutzeroberfläche
 +
* automatisierte Abläufe (etwa für Makefiles o. ä.)
 +
* integrierter Debugger
 +
* integrierte Sprachdokumentation
  
Damit wird der ständige Wechsel zwischen Editor und Konsole überflüssig. Ausserdem 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.
+
=== 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
  
IDEs besitzen meist auch einen internen Debugger, mit dem man dann 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 etablierten Standards angeboten z.B. CVS oder MS Visual SourceSafe.
+
=== 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 ...)
  
===1 Welche Programme existieren zur Zeit===
+
=== 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.)
  
Mittlerweile existieren wahrscheinlich hunderte verschiedener kommerzieller und freier IDEs, die mehr oder weniger Funktionalität bieten. Da ich nicht alle Programme testen kann und recht häufig Updates erscheinen, habe ich versucht einen repräsentativen Querschnitt zusammenzustellen. Von diesen IDEs sollte man meiner Meinung nach zumindest schoneinmal etwas gehört haben. Ausserdem habe ich speziell in/für JAVA entwickelte Programme unter die Lupe genommen. Die da wären:
+
== Beispiele ==
 +
Mittlerweile existieren wahrscheinlich Hunderte verschiedener kommerzieller und freier IDEs, die mehr oder weniger Funktionalität bieten.
  
* [[Java IDE Einleitung]]
+
Das ist eine Liste einiger IDEs, mit denen man Java-Programme schreiben kann:
 +
* [[IBM Eclipse]]
 
* [[Borland JBuilder]]
 
* [[Borland JBuilder]]
 
* [[IntelliJ IDEA]]
 
* [[IntelliJ IDEA]]
* [[IBM Eclipse]]
 
 
* [[SUN ONE Studio]]
 
* [[SUN ONE Studio]]
* [[Microsoft Visual J# .NET]]
+
 
 +
== Siehe auch ==
 +
* [[Eclipsekurs 2005]]
 +
* [[Informatik 2]]

Version vom 16. Mai 2005, 16:39 Uhr

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