Integrierte Entwicklungsumgebung

Ein integrierte Entwicklungsumgebung (Ide) ist ein Computerprogramm Das bietet umfassende Einrichtungen zu Computerprogrammierer zum Software-Entwicklung. Eine IDE besteht normalerweise aus mindestens a Quellcode -Editor, Automatisierung bauen Werkzeuge und a Debugger. Einige IDEs, wie z. NetBeans und Finsternis, enthalten das notwendige Compiler, Dolmetscher, oder beides; andere, wie z. Sharpdevelop und Lazarus, unterlassen Sie.

Die Grenze zwischen einer IDE und anderen Teilen der breiteren Softwareentwicklungsumgebung ist nicht genau definiert. Manchmal a Versionskontrollsystem oder verschiedene Werkzeuge zur Vereinfachung der Konstruktion von a grafische Benutzeroberfläche (GUI) sind integriert. Viele moderne Ides haben auch eine Klassenbrowser, ein Objektbrowser, und ein Klassenhierarchie -Diagramm zur Verwendung in Objektorientierte Softwareentwicklung.

Überblick

VIM mit integrierter automatischer Vervollständigung und Stiftung durch ein externes Plugin

Integrierte Entwicklungsumgebungen sind so konzipiert, dass sie die Programmiererproduktivität maximieren, indem enge Komponenten mit ähnlichen Bereichen versorgt werden Benutzeroberflächen. IDES präsentieren ein einzelnes Programm, in dem alle Entwicklung durchgeführt wird. Dieses Programm bietet in der Regel viele Funktionen für das Autorieren, Ändern, Kompilieren, Bereitstellen und Debuggieren von Software. Dies steht im Gegensatz zur Softwareentwicklung mit nicht verwandten Tools, wie z. vi, GDB, GCC, oder machen.

Ein Ziel der IDE ist es, die Konfiguration zu reduzieren, die erforderlich ist, um mehrere Entwicklungsversorgungsunternehmen zusammenzusetzen. Stattdessen bietet es die gleichen Funktionen wie eine kohäsive Einheit. Die Reduzierung der Einstellungszeit kann die Produktivität der Entwickler erhöhen, insbesondere in Fällen, in denen das Lernen, die IDE zu verwenden, schneller ist als das manuelle Integrieren und Lernen aller einzelnen Tools. Eine engere Integration aller Entwicklungsaufgaben hat das Potenzial, die Gesamtproduktivität zu verbessern, die nur bei der Einrichtung von Aufgaben hilft. Zum Beispiel kann Code während des Bearbeitung kontinuierlich analysiert werden, wodurch ein sofortiges Feedback bereitgestellt wird, wenn Syntaxfehler eingeführt werden, sodass Entwickler mit einer IDE viel schneller und einfacher debuggen.

Einige IDEs sind einem bestimmten gewidmet Programmiersprache, sodass ein Feature -Set, der am besten mit dem übereinstimmt, dem übereinstimmt Programmierparadigmen der Sprache. Es gibt jedoch viele mehrsprachige IDEs.

Während die meisten modernen IDEs grafische textbasierte IDes sind, z. Turbo Pascal waren vor der Verfügbarkeit von Fenstersystemen wie in beliebter Verwendung wie Microsoft Windows und die X Fenstersystem (X11). Sie verwenden häufig Funktionstasten oder Hotkeys Um häufig verwendete Befehle oder Makros auszuführen.

Geschichte

GNU EMACS, ein erweiterbarer Editor, der üblicherweise als IDE verwendet wird Unix-artig Systeme

Die IDEs wurden zunächst möglich, als sich über a entwickelte Konsole oder Terminal. Frühe Systeme konnten keine unterstützen, da Programme mit Flowdiagramme vorbereitet wurden, wobei die Programme mit dem Eingabe von Programmen erstellt wurden geschlagene Karten (oder Papierband usw.), bevor Sie sie an a einreichen Compiler. Dartmouth Basic war die erste Sprache, die mit einer IDE erstellt wurde (und war auch die erste für den Einsatz, während er vor einer Konsole oder einem Terminal sitzt). Seine ide (Teil der Dartmouth Time Sharing System) war Befehlsbasi Grafische Benutzeroberfläche. Es hat jedoch Bearbeitung, Dateimanagement, Kompilierung, Debugging und Ausführung in einer Weise integriert, die mit einer modernen IDE übereinstimmt.

Maestro I ist ein Produkt aus Softlab München und war die weltweit erste integrierte Entwicklungsumgebung[1] für Software. Maestro I wurde für 22.000 Programmierer weltweit installiert. Bis 1989 gab es 6.000 Installationen in der Bundesrepublik Deutschland. Maestro war in den 1970er und 1980er Jahren wohl der weltweit führende Führer auf diesem Gebiet. Heute ist einer der letzten Maestro, die ich im Museum of Information Technology in Arlington in Texas gefunden werden kann.

Einer der ersten IDES mit einem Plug-in-Konzept war Softbench. Im Jahr 1995 ComputerWoche kommentierte, dass die Verwendung einer IDE von Entwicklern nicht gut aufgenommen wurde, da sie in ihrer Kreativität umzäunen würde.

Ab Januar 2021 sind die drei IDes, deren Downloadseiten am häufigsten gesucht werden, sind Visual Studio, Finsternis und Android Studio.[2]

Themen

Satzstellung markieren

Der IDE -Editor bietet normalerweise Satzstellung markierenEs kann beide Strukturen, die Sprachschlüsselwörter und die Syntaxfehler mit visuell unterschiedlichen Farben und Schriftseffekten angezeigt werden.[3]

Code -Abschluss

Die Codebehandlung ist eine wichtige IDE -Funktion, die die Programmierung beschleunigen soll. Moderne IDes haben sogar Intelligenter Code -Abschluss.

Refactoring

Fortgeschrittene IDEs bieten Unterstützung für automatisiertes Refactoring.[3]

Versionskontrolle

Es wird erwartet, dass eine IDE integriert ist Versionskontrolle, um mit Quell -Repositories zu interagieren.[3]

Debuggen

IDEs werden auch zum Debuggen verwendet, wobei ein integriertes Gebiet verwendet wird DebuggerMit Unterstützung für das Einstellen von Haltepunkten im Editor, visuelle Wiedergabe von Schritten usw.[4]

Codesuche

IDEs können Unterstützung für die Codesuche bieten. Die Code -Suche hat zwei verschiedene Bedeutungen. Erstens bedeutet dies, nach Klassen- und Funktionserklärungen, Verwendungen, Variablen und Feldlesung/Schreiben usw. zu suchen[5] und auf natürlichen Sprachen basierende Schnittstellen.[6] Zweitens bedeutet dies, nach einer konkreten Implementierung einiger bestimmter Funktionalität zu suchen. Dies kann beides mit formalen gemacht werden[7] oder neuronal[8] Techniken.

Visuelle Programmierung

Visuelle Programmierung ist ein Nutzungsszenario, in dem im Allgemeinen eine IDE erforderlich ist. Mit Visual Basic können Benutzer neue Anwendungen erstellen, indem sie Programmier-, Bausteine ​​oder Codeknoten verschieben, um Flussdiagramme oder Strukturdiagramme zu erstellen, die dann zusammengestellt oder interpretiert werden. Diese Flussdiagramme basieren oft auf dem Einheitliche Modellierungssprache.

Diese Schnittstelle wurde mit dem populär gemacht Lego Mindstorms System und wird aktiv von einer Reihe von Unternehmen durchgesehen, die von der Macht kundenspezifischer Browser nutzen möchten, wie diejenigen, die gefunden wurden Mozilla. Ktechlab Unterstützt FlowCode und ist ein beliebter Open-Source-IDE und Simulator für die Entwicklung von Software für Mikrocontroller. Die visuelle Programmierung ist auch für die Kraft von verantwortlich verteilte Programmierung (vgl. Labor und EICASLAB Software). Ein frühes visuelles Programmiersystem, Max, wurde nach analog modelliert Synthesizer Design und wird seit den 1980er Jahren zur Entwicklung von Musikleistungssoftware in Echtzeit verwendet. Ein weiteres frühes Beispiel war Profil, a Datenfluss-basierte System, die ursprünglich für die entwickelt wurde Macintosh. Die grafische Programmierumgebung "Traube" wird verwendet, um zu programmieren Qfix -Roboter -Kits.

Dieser Ansatz wird auch in Spezialsoftware wie OpenLab verwendet, bei der die Endbenutzer die Flexibilität einer vollständigen Programmiersprache wünschen, ohne dass die mit einer verbundene herkömmliche Lernkurve verbunden ist.

Sprachunterstützung

Einige IDEs unterstützen mehrere Sprachen, wie z. GNU EMACS bezogen auf C und EMACS Lisp; Intellij Idee, Finsternis, Myeclipse oder NetBeans, bezogen auf Java; Monode entwickelt, bezogen auf C#; oder Playcode.

Die Unterstützung für alternative Sprachen wird häufig von bereitgestellt von Pluginsgleichzeitig auf derselben IDE installiert werden. Zum Beispiel ist Flycheck eine moderne Erweiterung der Syntax-Überprüfung für die Syntax für GNU EMACS 24 mit Unterstützung für 39 Sprachen.[9] Finsternis, und NetBeans Plugins für C/C ++, Ada, MÜCKE (zum Beispiel adagide), Perl, Python, Rubin, und Php, die zwischen automatisch basierend auf Dateierweiterung, Umgebungs oder Projekteinstellungen ausgewählt werden.

Einstellungen über verschiedene Computerplattformen hinweg

Unix Programmierer können sich kombinieren Befehlszeile Posix Tools in einer vollständigen Entwicklungsumgebung, die in der Lage ist, große Programme wie die zu entwickeln Linux Kernel und seine Umgebung.[10] In diesem Sinne fungiert das gesamte Unix -System als IDE.[11] Die kostenlose Software GNU Werkzeug (GNU Compiler -Sammlung (GCC), GNU -Debugger (GDB) und Gnu machen) sind auf vielen Plattformen verfügbar, einschließlich Windows.[12] Die allgegenwärtige Unix -Philosophie von "Alles ist ein Textstrom" ermöglicht es Entwicklern, die bevorzugen Befehlszeile Orientierte Tools zur Verwendung von Redakteuren mit Unterstützung für viele der Standard -Unix- und GNU -Build -Tools und erstellen eine IDE mit Programmen wieEMACs[13][14][15] oder Vim. Datenanzeigedebugger soll ein fortschrittliches grafisches Front-End für viele textbasierte textbasierte sein Debugger Standardwerkzeuge. Einige Programmierer bevorzugen es, es zu verwalten Makefiles und ihre Derivate zu den ähnlichen Tools für Codeaufbau in einer vollständigen IDE. Zum Beispiel die meisten Mitwirkenden an der PostgreSQL Datenbank Verwendung machen und GDB direkte, um neue Funktionen zu entwickeln.[16] Auch beim Bau PostgreSQL für Microsoft Windows Verwendung Visuell c ++, Perl Skripte werden als Ersatz für verwendet machen Anstatt sich auf IDE -Funktionen zu verlassen.[17] Einige Linux -IDes wie z. Geany Versuchen Sie, traditionellen Build -Operationen ein grafisches Frontend zu bieten.

Auf den verschiedenen Microsoft Windows Plattformen, Befehlszeilen-Tools für die Entwicklung werden selten verwendet. Dementsprechend gibt es viele kommerzielle und nichtkommerzielle Produkte. Jedes hat jedoch ein anderes Design, das häufig inkompatibilitäten schafft. Die meisten wichtigen Compiler-Anbieter für Windows bieten weiterhin kostenlose Kopien ihrer Befehlszeilen-Tools, einschließlich Microsoft (Visuell c ++, Plattform SDK, .NET Framework SDK, nmake Dienstprogramm).

IDEs waren schon immer beliebt bei den Apple Macintoshs Klassischer Mac OS und Mac OS, ausgehen zu Macintosh Programmer Workshop, Turbo Pascal, Denken Sie an Pascal und Denken Sie an c Umgebungen der Mitte der 1980er Jahre. Derzeit können MacOS -Programmierer zwischen nativen IDes wie wählen Xcode und Open-Source-Tools wie z. Finsternis und NetBeans. Aktivität Komodo ist eine proprietäre Multilanguage -IDE, die auf macOS unterstützt wird.

Künstliche Intelligenz

Einige Funktionen von IDEs können von Fortschritten in profitieren Ai.[18] Insbesondere kann man Informationen von IDE -Aktionen für Entwickler sammeln, um die IDE -Funktionen zu erweitern.[19] Zum Beispiel ein datengesteuerter Ansatz zu Code -Abschluss führt in Intelligenter Code -Abschluss.

Online

A Web integrierte Entwicklungsumgebung (Web IDE), auch bekannt als ein Online -IDE oder Wolken -IDE, ist ein Browser Basierte IDE, die Softwareentwicklung oder Webentwicklung ermöglicht.[20] Auf eine Web -IDE kann aus einem Webbrowser zugegriffen werden, der eine tragbare Arbeitsumgebung ermöglicht. Eine Web -IDE enthält normalerweise nicht alle Funktionen wie ein herkömmlicher Desktop -IDE, obwohl in der Regel alle grundlegenden IDE -Funktionen wie die Syntax -Hervorhebung vorhanden sind.

Siehe auch

Verweise

  1. ^ "Interaktives Programmierer-System-Schlager" aus ComputerWoche (Deutsch)
  2. ^ "Top IDE Top Integrated Development Environment Index". pypl.github.io.
  3. ^ a b c "Kurs CS350 Integrierte Entwicklungsumgebungen". cs.odu.edu. Old Dominion University. Abgerufen 10. Oktober 2018.
  4. ^ "Programmiersoftware und die IDE". BBC BITSIZE. Abgerufen 10. Oktober 2018.
  5. ^ "Eclipse -Kochbuch - Suchcode". O’Reilly.
  6. ^ Kimmig, Markus; Monperrus, Martin; Mezini, Mira (2011). "Quellcode mit natürlicher Sprache abfragen". 2011 26. IEEE/ACM Internationale Konferenz über automatisierte Software -Engineering (ASE 2011). S. 376–379. Arxiv:1205.6361. doi:10.1109/ase.2011.6100076. ISBN 978-1-4577-1639-3. S2CID 6898947.
  7. ^ Stolee, Kathryn T.; Elbaum, Sebastian; Dobos, Daniel (2014). "Lösen der Suche nach Quellcode". ACM -Transaktionen zu Software -Engineering und -Methodik. 23 (3): 1–45. doi:10.1145/2581377. ISSN 1049-331x.
  8. ^ Gu, Jian; Chen, Zimin; Monperrus, Martin (2021). "Multimodale Darstellung für die Suche nach neuronalen Code". 2021 IEEE International Conference für Software -Wartung und -entwicklung (ICSME). Luxemburg: IEEE: 483–494. doi:10.1109/ICSME52107.2021.00049. ISBN 978-1-6654-2882-8.
  9. ^ "Einführung - Flycheck 0,18 -CVs". Lesen Sie die Dokumente. Archiviert von das Original am 10. März 2014. Abgerufen 10. März 2014.
  10. ^ Rehman, Christopher Paul, Christopher R. Paul. "Die Linux -Entwicklungsplattform: Konfigurieren, Verwendung und Wartung einer vollständigen Programmierumgebung". 2002. ISBN0-13-009115-4
  11. ^ "Unixisanid".
  12. ^ ""Verwenden Sie EMACs mit Microsoft Visual C ++ ... Verwenden Sie EMACs als IDE"". Archiviert von das Original am 4. Juli 2013.
  13. ^ "EMACS: Die kostenlose Software IDE | Linux Journal". www.linuxjournal.com.
  14. ^ "Das gemeinsame Lisp -Kochbuch - mit EMACs als Lisp IDE" verwendet ". cl-cookbook.sourceforge.net.
  15. ^ "EMACS als Perl -Ide". Obsidianrook.com.
  16. ^ PostgreSQL "Entwickler FAQ - PostgreSQL Wiki". Wiki.Postgresql.org. {{}}: Prüfen |url= Wert (Hilfe)
  17. ^ "Kapitel 18. Installation vom Quellcode unter Windows". PostgreSQL -Dokumentation. 29. September 2021.
  18. ^ Williams, Christina Mercer & Hannah. "KI -Tools, die alle Entwickler versuchen müssen". Techworld.
  19. ^ Bruch, Marcel; Bodden, Eric; Monperrus, Martin; Mezini, Mira (7. November 2010). IDE 2.0: Kollektive Intelligenz in der Softwareentwicklung. Foser '10. S. 53–58. doi:10.1145/1882362.1882374. ISBN 9781450304276. S2CID 7637561.
  20. ^ "Webbasierte vs. Desktop-basierte Tools-EclipSource". EclipSource.com. 19. Juni 2018.