
| Teil einer Serie über |
| Softwareentwicklung |
|---|
Eine integrierte Entwicklungsumgebung ( IDE ) ist eine Software , die einen relativ umfassenden Funktionsumfang für die Softwareentwicklung bietet . Ziel einer IDE ist die Steigerung der Produktivität durch die Bereitstellung von Entwicklungsfunktionen mit einer einheitlichen Benutzererfahrung im Gegensatz zur Verwendung separater Tools wie vi , GDB , GCC und make .
Eine IDE unterstützt typischerweise mindestens Quellcodebearbeitung , Versionskontrolle , Build-Automatisierung und Debugging . Sie kann die Integration von Tools wie Compiler , Laufzeitumgebung oder Versionskontrollsystem ermöglichen , diese sind aber manchmal auch direkt in die IDE integriert. Einige IDEs bieten spezielle Unterstützung für die Erstellung grafischer Benutzeroberflächen (GUIs). Viele IDEs unterstützen objektorientierte Programmierung durch Funktionen wie Klassen- und Objektbrowser . Typischerweise bietet eine IDE spezielle Unterstützung für eine oder mehrere Programmiersprachen und ermöglicht so sprachspezifische Funktionen. Manche IDEs lassen sich erweitern, um zusätzliche Sprachen zu unterstützen.
Obwohl einige IDEs als Anwendung implementiert sind , werden andere als Bibliothek implementiert , die oft für eine bestimmte Softwareplattform entwickelt wurde . Beispielsweise ist Eclipse eine Plattform, für die es viele Plugins gibt , die jeweils eine IDE- Umgebung bieten , die Kernanwendung selbst jedoch nicht. [ a ]
Moderne IDEs basieren zwar auf grafischen Benutzeroberflächen (GUIs), doch gab es bereits vor der Verfügbarkeit von Fenstersystemen wie Windows und dem X Window System IDEs . Beispielsweise bot Turbo Pascal für MS-DOS eine textbasierte Vollbild-Benutzeroberfläche.
Geschichte
IDEs wurden ursprünglich durch die Entwicklung über eine Konsole oder ein Terminal möglich . Frühe Systeme konnten dies nicht, da Programme über Lochkarten , Lochstreifen usw. an einen Compiler oder Assembler übermittelt wurden . Dartmouth BASIC war die erste Programmiersprache mit einer IDE (und auch die erste, die speziell für die Verwendung an einer Konsole oder einem Terminal entwickelt wurde). [ 1 ] Die zugehörige IDE (Teil des Dartmouth Time-Sharing Systems ) war befehlsbasiert und ähnelte daher nicht den menügesteuerten, grafischen IDEs, die nach dem Aufkommen der grafischen Benutzeroberfläche populär wurden . Sie integrierte jedoch Bearbeitung, Dateiverwaltung, Kompilierung, Debugging und Ausführung in einer Weise, die einer modernen IDE entspricht.
Maestro I ist ein Produkt von Softlab München und war die weltweit erste integrierte Entwicklungsumgebung [ 2 ] für Software. Maestro I wurde von 22.000 Programmierern weltweit eingesetzt. Bis 1989 gab es 6.000 Installationen in der Bundesrepublik Deutschland . Maestro war in den 1970er- und 1980er-Jahren unbestritten Weltmarktführer in diesem Bereich. Heute befindet sich eine der letzten Maestro I-Systeme im Museum of Information Technology in Arlington, Texas.
Softbench war eine der ersten IDEs mit einem Plug-in-Konzept . 1995 merkte die Computerwoche an, dass die Verwendung einer IDE von Entwicklern nicht gut aufgenommen wurde, da sie deren Kreativität einschränken würde.
Stand August 2023 waren die am häufigsten gesuchten IDEs bei Google Search Visual Studio , Visual Studio Code und Eclipse . [ 3 ]
Merkmale
Zu den üblicherweise in einer IDE zu findenden Funktionen gehören:
- Sprachunterstützung
- Einige IDEs unterstützen mehrere Sprachen, beispielsweise GNU Emacs , IntelliJ IDEA , Eclipse , MyEclipse , NetBeans , MonoDevelop , JDoodle oder PlayCode. Die Unterstützung alternativer Sprachen wird häufig durch Plugins bereitgestellt, die gleichzeitig in derselben IDE installiert werden können. Flycheck ist beispielsweise eine moderne Erweiterung für GNU Emacs 24 , die Syntaxprüfungen in Echtzeit durchführt und 39 Sprachen unterstützt. [ 4 ] Ein weiteres Beispiel ist JDoodle, eine cloudbasierte Online-IDE, die 88 Sprachen unterstützt. [ 5 ] Eclipse und NetBeans bieten Plugins für C / C++ , Ada , GNAT (z. B. AdaGIDE), Perl , Python , Ruby und PHP an , deren Auswahl automatisch anhand der Dateierweiterung, der Umgebung oder der Projekteinstellungen erfolgt.
- Syntaxhervorhebung
- Die Quellcodebearbeitungsfunktion umfasst üblicherweise die Syntaxhervorhebung. Sie kann sowohl die Strukturen als auch die Sprachschlüsselwörter und Syntaxfehler mit visuell unterschiedlichen Farben und Schrifteffekten anzeigen. [ 6 ]
- Kontinuierliche Syntaxprüfung
- Die Code-Syntax kann während der Bearbeitung kontinuierlich validiert werden, und Fehler können bereits beim Auftreten eines Fehlers gemeldet werden, anstatt dass der Entwickler warten muss, bis ein Build ausgeführt wird.
- Codesuche
- Die IDE kann die Suche nach Klassen- und Funktionsdeklarationen, Verwendungen, Lese-/Schreibzugriffen auf Variablen und Felder usw. unterstützen. IDEs können verschiedene Arten von Benutzeroberflächen für die Codesuche verwenden, beispielsweise formularbasierte Widgets [ 7 ] und natürlichsprachliche Schnittstellen. Die IDE kann auch die Suche nach einer Implementierung einer Deklaration unterstützen. [ 8 ]
- Codevervollständigung
- Refactoring [ 6 ]
- Versionskontrolle [ 6 ]
- Vereinfachte Konfiguration
- Ein typisches Ziel einer IDE ist die Reduzierung des Konfigurationsaufwands für die Integration mehrerer Entwicklungswerkzeuge. Eine IDE bietet eine einheitliche Konfiguration, die die Einrichtungszeit verkürzt und somit die Produktivität steigert, insbesondere dann, wenn das Erlernen der IDE schneller ist als die Integration und das Erlernen mehrerer Tools.
- Debugging
- Die Unterstützung beim Debuggen umfasst üblicherweise das Setzen von Haltepunkten im Editor, die visuelle Darstellung von Schritten usw. [ 9 ]
- Visuelle Programmierung
- Visual Basic allows users to design an application by moving programming, building blocks, or code nodes to create flowcharts or structure diagrams that are then compiled or interpreted. These flowcharts often are based on the Unified Modeling Language.
- This interface has been popularized with the Lego Mindstorms system and is being actively perused by a number of companies wishing to capitalize on the power of custom browsers like those found at Mozilla. KTechlab supports flowcode and is a popular open-source IDE and Simulator for developing software for microcontrollers. Visual programming is also responsible for the power of distributed programming (cf. LabVIEW and EICASLAB software). An early visual programming system, Max, was modeled after an analog synthesizer design and has been used to develop real-time music performance software since the 1980s. Another early example was Prograph, a dataflow-based system originally developed for the Macintosh. The graphical programming environment "GRAPE" is used to program qfix robot kits.
- This approach is also used in specialist software such as Openlab, where the end-users want the flexibility of a full programming language, without the traditional learning curve associated with one.
Use
For a long time and still somewhat today, IDEs are used more commonly in Windows environments than on Unix-like environments. A notable exception is Apple platforms. IDEs have been popular on classic Mac OS and macOS, dating back to Macintosh Programmer's Workshop, Turbo Pascal, THINK Pascal and THINK C environments of the mid-1980s. Currently, macOS programmers can choose between native IDEs like Xcode and third-party tools such as Eclipse, Netbeans and ActiveState Komodo.


Anstelle einer IDE verwendet die Softwareentwicklung für Unix-ähnliche Umgebungen häufig verschiedene Kommandozeilen- Tools [ 10 ] [ 11 ] , wie beispielsweise die GNU-Toolchain (einschließlich GCC , GDB und make ) [ 12 ] und einen Texteditor wie Emacs [ 13 ] [ 14 ] [ 15 ] oder Vim . Manche Programmierer bevorzugen die Verwaltung von Makefiles (und ähnlichen Build-Dateien) gegenüber der Build-Konfiguration einer IDE. So verwenden beispielsweise die meisten Mitwirkenden der PostgreSQL- Datenbank make und GDB direkt. [ 16 ] Selbst beim Kompilieren von PostgreSQL für Windows mit Visual C++ werden Perl- Skripte anstelle von make verwendet , anstatt auf IDE-Funktionen zurückzugreifen. [ 17 ] Einige Linux-IDEs wie Geany versuchen, eine grafische Oberfläche für traditionelle Build-Vorgänge bereitzustellen. Der Data Display Debugger ist eine solche grafische Oberfläche für viele textbasierte Debugger -Tools.
Online
Eine integrierte Entwicklungsumgebung (IDE) im Browser , auch Web-IDE oder Cloud-IDE genannt, ermöglicht die Software- oder Webentwicklung. Sie ist über einen Webbrowser zugänglich und bietet somit eine mobile Arbeitsumgebung. Zwar verfügt eine Online-IDE in der Regel nicht über den vollen Funktionsumfang einer herkömmlichen Desktop-IDE, grundlegende Funktionen wie Syntaxhervorhebung sind jedoch meist vorhanden.
Eine mobile integrierte Entwicklungsumgebung (IDE) ist eine Softwareanwendung, die eine umfassende Sammlung von Werkzeugen für die Softwareentwicklung auf mobilen Plattformen bietet. Im Gegensatz zu herkömmlichen Desktop-IDEs sind mobile IDEs für die Ausführung auf Smartphones und Tablets konzipiert und ermöglichen es Entwicklern, Code direkt von ihren Mobilgeräten aus zu schreiben, zu debuggen und bereitzustellen.
Agentische Entwicklungsumgebung
Mit der zunehmenden KI-Unterstützung in IDEs entstand das Konzept der agentenbasierten Entwicklungsumgebung (ADE). Agenten schlagen nicht nur Codevervollständigungen vor, sondern erklären auch Code, analysieren Fehler, unterbreiten Lösungsvorschläge, planen und implementieren diese. Einige ADEs sind Plugins für reguläre IDEs, wie beispielsweise GitHub Copilot, Cline und Continue für Visual Studio Code, während andere tief integriert sind, wie Windsurf, Cursor und Google Antigravity. Auch der Zed Editor bietet optionale KI, während der geplante JetBrains Fleet Editor zugunsten der darauf basierenden ADE JetBrains Air eingestellt wurde. [ 18 ]
Siehe auch
- Vergleich integrierter Entwicklungsumgebungen
- Liste der integrierten Entwicklungsumgebungen
- Kollaborative Entwicklungsumgebung (CDE)
- Computergestützte Softwareentwicklung (CASE)
- Software-Engine
- Schnittstelle für mehrere Dokumente § IDE-ähnliche Schnittstelle (MDI)
- Schnelle Anwendungsentwicklung (RAD)
- Read–Eval–Print Loop (REPL)
- Notebook-Schnittstelle
- Codeanalyse- Tools
- Tools zur Quellcode-Refaktorisierung
- Software-Erstellungswerkzeuge ( Compiler , Linker usw. sowie das Build-Automatisierungstool, das zu deren Steuerung verwendet wird)
- Versionskontrolle , auch Quellcodeverwaltung genannt (Konfigurationsmanagement)
- Sprachserverprotokoll
- Einrichtung für strukturierte Programmierung
- Transportable Anwendungen Umgebung
Anmerkungen
- Eclipse wird oft als IDE bezeichnet, da es ursprünglich und auch heute noch häufig mit dem Java-IDE-Plugin installiert wird. Die Plugins stellen Entwicklungsumgebungen bereit. Ohne aktivierte Plugins bietet Eclipse nicht die typischen Basisfunktionen einer integrierten Entwicklungsumgebung.
Referenzen
- ^ Wasserman, A. (2024). „Lessons from a Pioneering Software Engineering Environment: Design Principles of Software through Pictures“. 2024 IEEE/ACM First IDE Workshop (IDE) . Bibcode : 2024ide..conf....7W . doi : 10.1145/3643796.3648445 (inaktiv seit 3. Juni 2026). S2CID 268379445 .
{{cite journal}}: CS1 Wartung: DOI inaktiv ab Juni 2026 ( Link ) - ^ „Interaktives Programmieren als Systems-Schlager“ von Computerwoche ( deutsch )
- ^ „TOP IDE Top Integrated Development Environment index“ . pypl.github.io . Abgerufen am 8. August 2023 .
- ^ „Einführung – Flycheck 0.18-cvs“ . Dokumentation lesen . Archiviert vom Original am 10. März 2014. Abgerufen am 10. März 2014 .
- ^ "JDoodle - Online-Compiler, Editor für Java, C/C++, etc" .
- ^ a b c „Kurs CS350 Integrierte Entwicklungsumgebungen“ . cs.odu.edu . Old Dominion University . Abgerufen am 10. Oktober 2018 .
- ^ Eclipse Cookbook – Code durchsuchen . ISBN 978-0-596-00710-2Die
{{cite book}}:|website=ignoriert ( Hilfe ) - ^ Stolee, Kathryn T.; Elbaum, Sebastian; Dobos, Daniel (2014). „Solving the Search for Source Code“ . ACM Transactions on Software Engineering and Methodology . 23 (3): 1–45 . doi : 10.1145/2581377 . ISSN 1049-331X . S2CID 8558710 .
- ^ „Programmiersoftware und die IDE“ . BBC Bitesize . Archiviert vom Original am 9. Oktober 2018. Abgerufen am 10. Oktober 2018 .
- ^ Rehman, Christopher Paul, Christopher R. Paul. „Die Linux-Entwicklungsplattform: Konfigurieren, Verwenden und Warten einer vollständigen Programmierumgebung“. 2002. ISBN 0-13-009115-4
- ^ "UnixIsAnIde" .
- ^ „Emacs mit Microsoft Visual C++ verwenden ... Emacs als IDE verwenden“ . Archiviert vom Original am 4. Juli 2013.
- ^ „Emacs: Die freie Software-IDE | Linux Journal“ . www.linuxjournal.com .
- ^ „The Common Lisp Cookbook - Using Emacs as a Lisp IDE“ . cl-cookbook.sourceforge.net .
- ^ „Emacs als Perl-IDE“ . obsidianrook.com . Archiviert vom Original am 21. Mai 2016. Abgerufen am 11. Mai 2011 .
- ^ „Entwickler-FAQ – PostgreSQL-Wiki“ . wiki.postgresql.org .
- ^ „Kapitel 18. Installation aus dem Quellcode unter Windows“ . PostgreSQL-Dokumentation . 29. September 2021.
- ^ "Schnellstart | JetBrains Air" .