Wikipedia · einfach zusammengefasst · Stand
Integrierte Entwicklungsumgebung
Eine integrierte Entwicklungsumgebung (IDE, von englisch integrated development environment) ist eine Sammlung von Computerprogrammen, mit denen die …
Inhalt4 Abschnitte
Begriff und Zweck
Eine integrierte Entwicklungsumgebung, kurz IDE (englisch integrated development environment), ist eine Sammlung von Computerprogrammen für die Softwareentwicklung. Ihr Zweck ist, Aufgaben möglichst ohne Medienbrüche zu bearbeiten: Arbeitsergebnisse können verwaltet und unmittelbar in weitere Bearbeitungsschritte übernommen werden. IDEs nehmen Entwicklern häufig wiederkehrende und formale Arbeiten ab, bieten schnellen Zugriff auf Funktionen und unterstützen dadurch das effiziente Entwickeln und Programmieren von Software.
IDEs gibt es für nahezu alle Programmiersprachen und Plattformen. Häufig unterstützt eine IDE nur eine Sprache; andere Anwendungen fassen mehrere spezielle IDEs unter einer gemeinsamen Benutzeroberfläche zusammen. Es gibt außerdem Entwicklungsumgebungen für Ansätze, bei denen Anwendungssoftware weitgehend ohne Programmieren durch Konfiguration entsteht, etwa Universal Application. Diese sind nicht auf eine bestimmte Programmiersprache ausgerichtet und stehen im Zusammenhang mit deklarativer Programmierung.
Weitere Bezeichnungen sind Softwareentwicklungsumgebung (SEU), Softwareproduktionsumgebung (SPU), software engineering environment system (SEES) und, für Teilaspekte, integrated design environment. Auch Software Development Kits (SDK), RAD-Tools, Low Code Development und ähnliche Entwicklungswerkzeuge können Funktionen für integrierte Softwareentwicklung anbieten. Dabei meint „Entwicklungsumgebung“ nicht zwingend eine Hardwareplattform, sondern die für die Softwareentwicklung genutzte Funktionalität – unabhängig von der technischen Systemarchitektur.
Einzelwerkzeuge und integrierte Umgebung
Für rechnergestützte Softwareentwicklung (CASE) unterscheidet Alfonso Fuggetta drei Kategorien: „Tools“ sind Werkzeuge für einzelne Aktivitäten im Software-Lebenszyklus. „Workbenches“ sind Werkbänke, die mehrere Werkzeuge umfassen. „Environments“ sind Umgebungen: Sie kombinieren mehrere Workbenches und Werkzeuge, um den gesamten Software-Lebenszyklus zu unterstützen.
Als nicht integriert gilt der Einsatz einzelner, getrennt arbeitender Programmierwerkzeuge, auch wenn dies gelegentlich allgemein Entwicklungsumgebung genannt wird. Dazu gehören beispielsweise Texteditor, Compiler oder Interpreter, Linker und gegebenenfalls Debugger. Entwickler müssen jeden Schritt selbst gezielt starten: Sie öffnen, ändern und speichern den Quelltext, rufen anschließend den Compiler auf und prüfen das Ergebnis, starten dann den Linker und prüfen erneut das Ergebnis; zuletzt führen sie das Programm aus, etwa zum Testen.
Eine IDE verlangt dagegen mehr als getrennte Werkzeuge. Ihre Methoden können aufeinander abgestimmt sein und einer ähnlichen Philosophie folgen. Sie begleitet und unterstützt Prozesse der Softwareentwicklung oder sogar den gesamten Software-Lebenszyklus. Eine Entwicklungsdatenbank, auch Repository oder Data-Dictionary, speichert Zwischen- und Arbeitsergebnisse und stellt sie den nächsten Werkzeugen bereit. Diese können über eine einheitliche gemeinsame Benutzeroberfläche aktiviert werden.
Funktionen und Abgrenzung
Die Integration zeigt sich beispielsweise daran, dass Datenfelder, die für ein Formular oder einen Report über eine grafische Benutzeroberfläche (GUI) festgelegt wurden, im Programmcode-Editor direkt referenziert und verwendet werden können. IDEs können auch konzeptionelle Aspekte unterstützen: strukturierte Vorgehensweisen wie Strukturierte Analyse und Strukturiertes Design (SA/SD), die grafische Notationsweise UML sowie Datenmodellierungsmethoden wie Entity-Relationship-Modellierung (ERM/SERM).
Mögliche weitere Komponenten sind Versionsverwaltung, Werkzeuge zum einfachen Erstellen grafischer Benutzeroberflächen, Quelltextformatierung, Unterstützung für Projektmanagement, Testen sowie Release- und Deployment-Management für die Produktivsetzung der Software. Zur Bewertung gehören außerdem spezielle Komfortfunktionen von Texteditoren, automatisches Kompilieren und Debugging, Bedienhilfen wie Tastenkombinationen oder Makros sowie Generierungsfunktionen. Ob ein konkretes Entwicklungsprodukt als IDE gilt, hängt davon ab, welche dieser Funktionen und wie umfassend sie vorhanden sind; die Grenzen sind fließend.
Entwicklung seit den 1980er Jahren
Integrierte Entwicklungsumgebungen kamen in der ersten Hälfte der 1980er Jahre auf. Sie lösten die damalige Praxis ab, Editor, Compiler, Linker und Debugger als vier getrennte Produkte anzubieten und einzeln auszuführen. Maestro I, ursprünglich Programm-Entwicklungs-Terminal-System (PET), von Softlab war weltweit die erste integrierte Entwicklungsumgebung für Software.
In den 1980er Jahren entstanden neben IDEs für Standardprogrammiersprachen der dritten Generation auch Umgebungen für 4GL-Programmiersprachen, beispielsweise Natural. Solche Umgebungen sind zum Teil bis heute im Markt vertreten. Sie verbanden die Programmiersprache mit Werkzeugen wie Analyse- und Designwerkzeug, Texteditor, Maskeneditor, GUI Designer, Compiler beziehungsweise Interpreter, Linker, Debugger und Quelltextformatierung.
Die ersten IDEs waren noch textbasiert. Seit etwa 1990 ging der Trend, besonders bei großen Anbietern, zunehmend zu visuellen Programmierumgebungen. Für Spezialsprachen gibt es jedoch auch später weiterhin verschiedene Text-IDEs.