it-swarm.com.de

Warum sollte ich eine IDE verwenden?

In einer anderen Frage spricht Mark in hohem Maße von IDEs und sagt, dass "einige Leute immer noch nicht wissen, warum" sie eines verwenden sollten ... ". Was sind die Vorteile von IDEs als jemand, der vim für die Programmierung verwendet und in einer Umgebung arbeitet, in der die meisten/alle meiner Kollegen vim oder emacs für ihre gesamte Arbeit verwenden? Warum sollte ich eins verwenden?

Ich bin mir sicher, dass dies ein kostenpflichtiges Problem für einige Leute ist, und ich bin nicht daran interessiert, einen Flammenkrieg zu beginnen. Bitte antworten Sie nur mit den Gründen, aus denen Sie glauben, dass ein IDE-basierter Ansatz überlegen ist . Ich bin nicht daran interessiert zu erfahren, warum ich keine IDE verwenden sollte. Ich benutze schon keinen. Ich bin sozusagen daran interessiert, von "der anderen Seite des Zauns" zu hören.

Wenn Sie der Meinung sind, dass IDEs für einige Arten von Arbeiten geeignet sind, für andere jedoch nicht, interessiert mich auch, warum.

388
Simon Howard

Es hängt wirklich davon ab, welche Sprache Sie verwenden, aber in C # und Java Ich finde IDEs vorteilhaft für:

  • Schnelles Navigieren zu einem Typ, ohne sich Gedanken über Namespace, Projekt usw. Machen zu müssen
  • Navigieren zu Mitgliedern, indem Sie sie als Hyperlinks behandeln
  • Autovervollständigung, wenn Sie sich nicht auswendig an die Namen aller Mitglieder erinnern können
  • Automatische Codegenerierung
  • Refactoring (massives)
  • Organisieren von Importen (automatisches Hinzufügen entsprechender Importe in Java mithilfe von Direktiven in C #)
  • Warnung bei der Eingabe (d. H. Einige Fehler erfordern nicht einmal einen Kompilierungszyklus)
  • Bewegen Sie den Mauszeiger über etwas, um die Dokumente anzuzeigen
  • Halten Sie auf nützliche Weise alle Dateien, Fehler/Warnungen/Konsolen-/Komponententests usw. und den Quellcode gleichzeitig auf dem Bildschirm
  • Einfache Ausführung von Komponententests im selben Fenster
  • Integriertes Debugging
  • Integrierte Quellcodeverwaltung
  • Navigieren Sie in den Fehlerdetails direkt zu der Stelle, an der ein Kompilierungsfehler oder eine Laufzeitausnahme aufgetreten ist.
  • Usw!

All dies spart Zeit. Das sind Dinge, die ich manuell tun könnte, aber mit mehr Schmerzen: Ich würde lieber programmieren.

536
Jon Skeet

Code-Vervollständigung. Es hilft sehr beim Erkunden von Code.

98
Darren

Die kurze Antwort, warum ich ein IDE benutze, ist Faulheit.

Ich bin eine faule Seele, die es nicht mag, Dinge auf schwierige Weise zu tun, wenn es stattdessen einen einfachen Weg gibt. IDE's machen das Leben einfach und sprechen uns faule Leute an.

Während ich Code eingebe, überprüft die IDE automatisch die Gültigkeit des Codes, ich kann eine Methode markieren und F1 drücken, um Hilfe zu erhalten, mit der rechten Maustaste klicken und "Gehe zur Definition" auswählen, um direkt zu springen Dort, wo es definiert ist, drücke ich eine Taste und die Anwendung mit dem automatisch angehängten Debugger wird für mich gestartet. Und so geht die Liste weiter. Alle Dinge, die ein Entwickler tagtäglich tut, sind unter einem Dach zusammengefasst.

Es ist keine IDE erforderlich. Es ist halt viel schwerer nicht zu arbeiten.

84
David Arno

Ich denke nicht, dass es fair ist, den klassischen "Texteditor und Konsolenfenster gegen IDE" zu machen, wenn "Texteditor" wirklich Emacs ist. Die meisten IDE-typischen Funktionen sind auch in Emacs enthalten. Oder vielleicht sind sie sogar dort entstanden, und moderne IDEs sind hauptsächlich Verbesserungen/Vereinfachungen der Benutzeroberfläche.

Dies bedeutet, dass für die ursprüngliche Frage die Antwort nicht so eindeutig ist. Es hängt davon ab, ob wie die Leute auf der fraglichen Site Emacs verwenden, ob sie es hauptsächlich als Texteditor verwenden oder ob sie alles daran setzen und benutzerdefinierte Skripte verwenden, die Befehle für die jeweiligen Modi kennen über Code-Tagging und so weiter.

55
unwind

Ich komme auf diese Frage aus der Gegenrichtung. Ich bin in der Programmierung mit sehr wenigen Boxenstopps in Makefile + Emacs Land aufgewachsen. Von meinem allerersten Compiler unter DOS, Microsoft Quick C, hatte ich eine IDE, um Dinge zu automatisieren. Ich habe viele Jahre in Visual C++ 6.0 gearbeitet und nach meinem Abschluss in Enterprise Java habe ich mit Borland JBuilder gearbeitet und mich dann für Eclipse entschieden, das für mich sehr produktiv geworden ist.

Während meiner anfänglichen Autodidakt-, College- und nun beruflichen Laufbahn habe ich gelernt, dass jede größere Softwareentwicklung, die ausschließlich innerhalb der IDE durchgeführt wird, kontraproduktiv wird. Ich sage das, weil die meisten IDE's wollen, dass Sie in ihrem eigenartigem I-control-how-the-world-works-Stil arbeiten. Sie müssen Ihre Projekte entlang ihrer Linien schneiden und würfeln. Sie haben Ihre Projektbuilds mit Hilfe der seltsamen Dialogfelder verwaltet. Die meisten IDEs verwalten komplexe Build-Abhängigkeiten zwischen Projekten schlecht, und es kann schwierig sein, Abhängigkeiten zu 100% zum Laufen zu bringen. Ich war in Situationen, in denen IDEs keinen funktionierenden Build meines Codes hervorbrachten, es sei denn, ich habe ein Clean/Rebuild All durchgeführt. Schließlich gibt es selten eine saubere Möglichkeit, Ihre Software von einer IDE aus der Entwicklung in andere Umgebungen wie QA oder Produktion zu verschieben. In der Regel ist es ein kniffliges Unterfangen, alle Bereitstellungseinheiten zu erstellen, oder Sie haben ein unangenehmes Tool, mit dem Sie vom IDE Anbieter Dinge bündeln können. Aber auch dieses Tool setzt normalerweise voraus, dass Ihr Projekt und Ihre Build-Struktur absolut den Regeln entsprechen - und manchmal funktioniert das einfach nicht für die Anforderungen Ihres Projekts.

Ich habe gelernt, dass wir für eine umfangreiche Entwicklung mit einem Team am produktivsten sein können, wenn wir unseren Code mit einer IDE entwickeln und alle unsere Builds mit manuell geschriebenen Befehlszeilenskripten ausführen. (Wir mögen Apache Ant für die Java -Entwicklung.) Wir haben festgestellt, dass das Ausführen unserer Skripte aus dem IDE nur ein Klick-Fest oder ein Automatisierungs-Albtraum für komplexe Builds ist. Es ist viel einfacher (und weniger störend) Alt + Tab zu einer Shell und führen Sie die Skripte dort aus.

Manuelle Builds erfordern, dass wir einige der Feinheiten in der modernen IDE Hintergrundkompilierung verpassen, aber was wir gewinnen, ist viel kritischer: saubere und einfache Builds, die in mehreren Umgebungen ausgeführt werden können. Der "One-Click-Build", über den all diese agilen Typen reden? Wir haben es. Unsere Build-Skripte können auch von kontinuierlichen Integrationssystemen direkt aufgerufen werden. Wenn Builds durch kontinuierliche Integration verwaltet werden, können wir Ihre Code-Bereitstellungen formeller bereitstellen und in andere Umgebungen migrieren. Außerdem erfahren wir fast sofort, wenn jemand fehlerhaften Code eincheckt, der die Build- oder Komponententests bricht.

In Wahrheit hat es uns nicht allzu sehr geschadet, dass ich die Rolle des Builds von der IDE weggenommen habe. Die Intellisense- und Refactoring-Tools in Eclipse sind immer noch vollständig nützlich und gültig - die Hintergrundkompilierung dient lediglich zur Unterstützung dieser Tools. Und Eclipses eigenartiges Aufteilen von Projekten hat dazu beigetragen, unsere Problemstellungen mental auf eine Art und Weise aufzuschlüsseln, die jeder verstehen kann (für meinen Geschmack allerdings immer noch ein bisschen ausführlich). Ich denke, eines der wichtigsten Dinge bei Eclipse sind die hervorragenden SCM-Integrationen. Das macht die Teamentwicklung so angenehm. Wir verwenden Subversion + Eclipse, und das war sehr produktiv und sehr einfach, unsere Mitarbeiter darin zu schulen, Experten zu werden.

49
Davew

Als Autor der Antwort, die Sie in Ihrer Frage hervorheben, und zugegebenermaßen etwas zu spät, muss ich sagen, dass die Produktivität eines professionellen Entwicklers unter den vielen aufgeführten Gründen einer der wichtigsten ist hoch angesehene Fähigkeiten.

Mit Produktivität meine ich die Fähigkeit, Ihre Arbeit mit den bestmöglichen Ergebnissen effizient zu erledigen. IDEs ermöglichen dies auf vielen Ebenen. Ich bin kein Emacs-Experte, aber ich bezweifle, dass ihm eines der Merkmale der wichtigsten IDEs fehlt.

Das Entwerfen, Dokumentieren, Nachverfolgen, Entwickeln, Erstellen, Analysieren, Bereitstellen und Warten der wichtigsten Schritte in einer Unternehmensanwendung kann in einer IDE erfolgen.

Warum würden Sie nicht etwas so Mächtiges verwenden, wenn Sie die Wahl hätten?

Verpflichten Sie sich als Experiment, beispielsweise 30 Tage lang IDE=) zu verwenden, und sehen Sie, wie Sie sich fühlen. Ich würde gerne Ihre Gedanken zu dieser Erfahrung lesen.

24
Mark

Ein IDE hat folgende Vorteile:

  • Das Kompilieren erfolgt normalerweise "on the fly", was bedeutet, dass nicht mehr zur Befehlszeile zum Kompilieren gewechselt wird
  • Das Debuggen ist integriert, und dies in einem IDE bedeutet, dass der Step-Debugger Ihren In-Place-Editor verwendet, um Ihnen visuell anzuzeigen, welcher Code ausgeführt wird
  • IDEs verfügen normalerweise über mehr semantische Kenntnisse der Sprache, in der Sie arbeiten, und können Ihnen mögliche Probleme beim Tippen aufzeigen. Refactoring ist viel leistungsfähiger als das "Suchen und Ersetzen".

Es gibt noch viel mehr, vielleicht sollten Sie es versuchen.

20
Rolf

IDEs sind im Grunde:

  • Editor mit Code-Vervollständigung, Refactoring und Dokumentation
  • Debugger
  • Dateisystem-Explorer
  • SCMS-Client
  • Build-Tool

alles in einem Paket.

All dies (und noch einiges mehr) können Sie mit separaten Tools oder einfach mit einem großartigen programmierbaren Editor und zusätzlichen Tools wie Emacs (auch Vim, aber mit etwas weniger IDEbility IMO) ausführen.

Wenn Sie feststellen, dass Sie häufig zwischen verschiedenen Dienstprogrammen wechseln, die möglicherweise in die Umgebung integriert sind, oder wenn Ihnen einige der hier aufgeführten Funktionen fehlen (und in anderen Beiträgen ausführlicher beschrieben), ist es möglicherweise an der Zeit, zu einem IDE (oder um die IDE-Fähigkeit Ihrer Umgebung zu verbessern, indem Sie Makros hinzufügen oder was nicht). Wenn Sie sich eine 'IDE' (im oben genannten Sinne) mit mehr als einem Programm erstellt haben, müssen Sie nicht auf eine aktuelle IDE umsteigen.

19
Vinko Vrsalovic

Finsternis:

Higlighting von Code, Kompilieren im Hintergrund, Hinweisen auf meine Fehler im weiteren Verlauf.

Integration mit Javadoc, wobei Variablennamen mit Strg-Leertaste vorgeschlagen werden.

Wenn ich kompiliere, bekomme ich genau dort Fehler. Ich kann auf einen Fehler doppelklicken und er zeigt die entsprechende Zeile an.

Strg-F11 ist wirklich gut in JUnit integriert und führt den Test aus. Er gibt an, dass die Tests fehlgeschlagen sind. Wenn das Ausgabefenster eine Ausnahme enthält, kann ich auf eine Zeile doppelklicken und zur fehlgeschlagenen Zeile wechseln. Darüber hinaus stellt Strg-F11 sicher, dass alles kompiliert ist, bevor die Tests ausgeführt werden (was bedeutet, dass ich das nie vergesse).

Integration mit ant. Ein Befehl zum Erstellen und Bereitstellen der Anwendung.

Integration mit Debuggern, einschließlich Remote-Debugging von Webservern.

FANTASTISCHE Refactoring-Tools, die nach Verweisen auf einen Codeabschnitt suchen. Hilft mir, die Auswirkungen einer Änderung zu erkennen.

Alles in allem macht es mich produktiver.

11
Matthew Farwell

Ich habe Emacs für ungefähr 10 Jahre (1994-2004) als meine primäre Umgebung sowohl für die Entwicklung als auch für Mail/News verwendet. Ich entdeckte die Kraft von IDEs, als ich mich 2004 zwang, Java= zu lernen, und zu meiner Überraschung mochte ich die IDE ( IntelliJ IDEE ).

Ich werde nicht auf bestimmte Gründe eingehen, da viele von ihnen bereits hier erwähnt wurden - denken Sie daran, dass die verschiedenen Menschen unterschiedliche Merkmale lieben. Ich und ein Kollege haben die gleiche IDE verwendet, wir haben beide nur einen Bruchteil der verfügbaren Funktionen verwendet, und wir mochten die Verwendung der IDE (aber wir mochten beide die IDE selbst).

IDEs bieten jedoch einen Vorteil gegenüber Emacs/Vim-Umgebungen, auf den ich mich konzentrieren möchte: Sie verbringen weniger Zeit mit der Installation/Konfiguration der gewünschten Funktionen.

Mit Wing IDE (für Python) kann ich 15-20 Minuten nach der Installation mit der Entwicklung beginnen. Keine Ahnung, wie viele Stunden ich benötigen würde, um die von mir verwendeten Funktionen mit Emacs/Vim zum Laufen zu bringen. :)

9
Eigir

Es führt definitiv zu einer Verbesserung der Produktivität für mich. Bis zu dem Punkt, an dem ich sogar Linux-Anwendungen in Visual Studio unter Vista codiere und sie dann mit einer virtuellen Linux-Maschine erstelle.

Sie müssen sich nicht alle Argumente für einen Funktions- oder Methodenaufruf merken. Sobald Sie mit der Eingabe beginnen, zeigt Ihnen IDE), welche Argumente erforderlich sind. Sie erhalten Assistenten zum Festlegen der Projekteigenschaften. Compiler-Optionen usw. Sie können im gesamten Projekt nach Dingen suchen, anstatt nur nach dem aktuellen Dokument oder den aktuellen Dateien in einem Ordner. Wenn Sie einen Compiler-Fehler erhalten, doppelklicken Sie darauf, und Sie gelangen direkt zur betreffenden Zeile.

Integration von Tools wie Modelleditoren, Herstellen einer Verbindung zu externen Datenbanken und Durchsuchen von Datenbanken, Verwalten von Codeausschnitten, GUI-Modellierungstools usw. All diese Dinge könnten separat verfügbar sein, aber wenn sie alle in derselben Entwicklungsumgebung vorhanden sind, spart dies viel Zeit und hält den Entwicklungsprozess effizienter.

9
Gerald

Es kann verschiedene Gründe für verschiedene Menschen geben. Für mich sind das die Vorteile.

  1. Bietet ein integriertes Gefühl für das Projekt. Zum Beispiel habe ich alle zugehörigen Projektdateien in einer Ansicht.
  2. Bietet erhöhte Code-Produktivität wie
    1. Satzstellung markieren
    2. Überweisung von Baugruppen
    3. Intellisense
    4. Zentralisierte Ansicht der Datenbank und der zugehörigen UI-Dateien.
    5. Debugging-Funktionen

Ende des Tages hilft es mir, schneller zu codieren, als ich es in einem Notizblock oder einem Wordpad tun kann. Das ist ein ziemlich guter Grund für mich, eine IDE zu bevorzugen.

8
vikramjb

Ein IDE kann eine 'überlegene' Wahl sein, abhängig davon, was ein Entwickler zu erreichen versucht.

Ein Texteditor kann überlegen sein, da IDEs in der Regel auf eine (oder eine kleine Auswahl) von Sprachen ausgerichtet sind.

Wenn ein Entwickler die meiste Zeit in einer einzigen Sprache oder einem "Cluster" verwandter Sprachen (wie C # und T-SQL) in einem Betriebssystem verbringt, dann die von angebotenen Tools für GUI-Design, Debug, Intellisense, Refactoring usw. Ein gutes IDE kann sehr überzeugend sein. Wenn Sie zum Beispiel die meiste Zeit in VB.NET verbringen und ab und zu ein wenig T-SQL in einer Windows-Umgebung verwenden, dann wären Sie ziemlich dumm, sich Visual Studio oder eine vergleichbare IDE nicht anzusehen.

Ich habe keine Vorurteile gegenüber denen, die IDEs oder Texteditoren bevorzugen, beide können sehr produktiv und nützlich sein wenn sie gut gelernt sind!

8
TMealy

Ich denke, es hat hauptsächlich mit dem Bekanntheitsgrad des Entwicklers zu tun. Die IDE bietet eine makroskopische Ansicht des Arbeitskontexts des Entwicklers. Sie können gleichzeitig Klassenhierarchien, referenzierte Ressourcen, Datenbankschemata, SDK-Hilfereferenzen usw. anzeigen Aufgrund Ihrer Tastatureingaben und des wachsenden Volumens an Architekturen und architektonischen Überschneidungen wird es immer schwieriger, immer nur von einer Code-Insel zur nächsten zu arbeiten.

OTOH, "nur ich und vim und die Manpages", gibt mir einen viel schlankeren mikroskopischen - aber intensiven und präzisen - Einblick in meine Arbeit. Dies ist in Ordnung, wenn ich eine gut konzipierte, gut partitionierte, spärlich gekoppelte, stark zusammenhängende Codebasis habe, die in einer Sprache mit einem Satz statischer Bibliotheken erstellt wurde, aus denen heraus gearbeitet werden kann im Laufe der Zeit, Entfernung und persönlichen Vorlieben.

Ich arbeite derzeit an Projekten in Flex und .NET. Das Schöne an Flex ist, dass es nur wenige Möglichkeiten gibt, einen Standard zu erreichen: Daten aus einer Datenbank abrufen, Dateien öffnen/schließen/lesen/schreiben usw. (Ich verwende jedoch den Flex Builder/Eclipse = IDE - ein typisches Beispiel mit hohem Gewicht wie VS, da ich noch die Grundlagen lerne und die Stützräder benötige. Ich erwarte, dass ich mich wieder zu Vim entwickeln kann, sobald ich mir meiner Muster sicher bin. ) Aus dieser Sicht kann ich das, was ich brauche, professionell tun, indem ich ein paar Dinge wirklich sehr gut kenne.

OTOH, ich kann mir nicht vorstellen, mit .NET an diesen Punkt zu gelangen, da sich die Ansicht, die ich beibehalten soll, ständig erweitert und verschiebt. Es gibt viel weniger konzeptionelle Integrität und über mehrere Monate hinweg mehrere Entwickler an einem Projekt, viel weniger Konsistenz - aber die IDE unterstützt das, fördert es vielleicht. Der Entwickler muss also wirklich (und kann mehr) leicht zu verstehen), viel mehr Dinge angemessen zu wissen, was auch den Vorteil hat, ihnen zu helfen, einen viel höheren Prozentsatz der Fragen zu StackOverflow zu beantworten (oder sogar zu verstehen), dh wir können einen tieferen Wissensstapel haben und wir können auf eine größere Vielfalt von Fragen antworten Hilfe-Suchanzeigen.

Die Dinge können in beide Richtungen zu weit gehen. Vielleicht ist es beim "Nur-Editor" -Skop so, als ob "wenn Sie nur einen Hammer haben, sieht alles aus wie ein Nagel". Mit dem IDE Ansatz, für was auch immer Sie aneinander befestigen möchten, haben Sie eine breite Auswahl an Befestigungselementen und dazugehörigen Werkzeugen zur Auswahl - Schrauben/Hämmer, Schrauben/Schraubendreher, Bolzen/Schraubenschlüssel, Klebstoffe/Klebepistolen/Klemmen, Magnete und so weiter - alles immer zur Hand (mit einem Assistenten, der Ihnen den Einstieg erleichtert).

7
dkretz

IntelliSense , der integrierte Debugger und das unmittelbare Fenster machen mich enorm produktiver ( Visual Studio 2008 ). Mit allem, was ich zur Hand habe, kann ich den größten Teil eines riesigen Projekts in meinem Kopf behalten, während ich Code schreibe. Microsoft legt möglicherweise weiterhin Wert auf das Betriebssystem, aber Visual Studio ist eines der besten Produkte, die jemals entwickelt wurden.

5
Steve

Zusätzlich zu den anderen Antworten liebe ich es, die sich entwickelnde Kraft eines IDE mit der Bearbeiten der Kraft von Vim mit dem ViPlugin für Eclipse .

5
nayfnu

Betrachten Sie es nicht als exklusiv. Verwenden Sie IDE für die Vorteile, die es bietet, und wechseln Sie zu vim/preferred text editor, wenn Sie ernsthafte Konzentration benötigen.

Ich finde die IDE besser zum Umgestalten und Durchsuchen und Debuggen und zum Herausfinden was zu tun. Kleine Dinge werden dann direkt in der IDE erledigt, große Dinge, zu denen ich blättere vim, um den Job zu beenden.

5
Daniel Bungert

Ich verstehe nicht was du fragst. Sie fragen "Soll ich ein IDE anstelle von ... verwenden", aber ich verstehe nicht, was die Alternative ist - Vim und Emacs erfüllen viele Funktionen any = IDE gibt Ihnen. Der einzige Aspekt, den sie nicht behandeln, ist, dass ein größerer IDE Dinge wie UI-Designer sein können. Dann läuft Ihre Frage auf einfach "what =" hinaus IDE sollte ich verwenden "mit Argumenten für den einfacheren Bereich von Vim und Emacs.

GUI-basierte IDEs wie Visual Studio und Eclipse bieten aufgrund ihrer Anzeigefunktionen mehrere Vorteile gegenüber textbasierten IDEs wie Emacs oder vim:

  • WYSIWYG-Vorschau und Live-Bearbeitung für das GUI-Design
  • Effiziente Eigenschaftseditoren (z. B. Farbauswahl über eine GUI-Palette, einschließlich Positionierungsgradientenstopps usw.)
  • Grafische Darstellung von Codeumrissen, Dateizusammenhängen usw
  • Effizientere Nutzung der Bildschirmfläche zum Anzeigen von Haltepunkten, Lesezeichen, Fehlern usw
  • Bessere Drag & Drop-Unterstützung für Betriebssysteme und andere Anwendungen
  • Integrierte Bearbeitung von Zeichnungen, Bildern, 3D - Modellen usw
  • Anzeigen und Bearbeiten von Datenbankmodellen

Grundsätzlich können Sie mit einer grafischen Benutzeroberfläche IDE=) auf einmal nützlichere Informationen auf dem Bildschirm erhalten und grafische Teile Ihrer Anwendung so einfach wie Textteile anzeigen/bearbeiten.

Eine der coolsten Erfahrungen als Entwickler ist die Bearbeitung einer Methode, die einige Daten berechnet und die Live-Ausgabe Ihres Codes in einem anderen Fenster grafisch anzeigt, so wie es Ihr Benutzer beim Ausführen der App sieht. Nun, das ist WYSIWYG-Bearbeitung!

Textbasierte IDEs wie Emacs und vim können im Laufe der Zeit Funktionen wie Code-Vervollständigung und Refactoring hinzufügen. Langfristig liegt die Haupteinschränkung also in ihrem textbasierten Anzeigemodell.

3
Ray Burns

Ich benutze auch fast ausschließlich Vim (fast weil ich gerade versuche, Emacs zu lernen) für all meine Entwicklungsaufgaben. Ich denke, reine Intuitivität (natürlich von der GUI aus) ist der Hauptgrund, warum die Leute gerne IDEs verwenden. Da das Tool intuitiv bedienbar ist, ist nur ein geringer bis gar kein Einarbeitungsaufwand erforderlich. Je geringer der Lernaufwand, desto mehr können sie arbeiten.

3
avendael

Ein paar Gründe, die ich mir für die Verwendung einer IDE vorstellen kann:

  • Integrierte Hilfe ist ein Favorit.
  • Der eingebaute Refactor mit Vorschau des Visual Studio
  • IntelliSense , Syntax-Hervorhebung, einfache Navigation für große Projekte, integriertes Debugging usw. (obwohl ich weiß, dass Sie mit Addins wahrscheinlich eine Menge davon erhalten können mit Emacs und - Vim ).
  • Ich denke auch, dass IDEs heutzutage eine breitere Nutzerbasis haben und wahrscheinlich mehr Leute Add-Ins für sie entwickeln, aber ich könnte mich irren.

Und ehrlich gesagt mag ich meine Maus. Wenn ich reine Texteditoren verwende, wird es einsam.

3
AshtonKJ

Mit einem IDE kann man schneller und einfacher arbeiten ... Mir ist aufgefallen, dass ich viel Zeit damit verbracht habe, in einem einfachen Texteditor im Code zu navigieren ...

In einer guten IDE wird diese Zeit verkürzt, wenn IDE unterstützt, zu Funktionen, zur vorherigen Bearbeitungsposition, zu Variablen zu springen ... Auch eine gute IDE Reduziert die Zeit zum Experimentieren mit verschiedenen Sprachfunktionen und Projekten, da die Startzeit gering sein kann.

3
aftershock

Für mich ist ein IDE besser, weil es eine schnellere Navigation im Code ermöglicht, was wichtig ist, wenn Sie etwas im Kopf haben, das Sie implementieren möchten. Angenommen, Sie verwenden keine IDE, es dauert länger, bis Sie ankommen Das Ziel: Ihre Gedanken können häufiger unterbrochen werden, es müssen mehr Klicks/mehr Tasten gedrückt werden, man muss sich mehr auf den Gedanken konzentrieren, wie man Dinge umsetzt. Natürlich können Sie auch Dinge aufschreiben, aber dann muss man springen Auch ein GUI-Designer macht einen großen Unterschied. Wenn Sie dies von Hand tun, kann es länger dauern.

3
Aftershock

Spart Zeit für die Entwicklung
Erleichtert das Leben durch Funktionen wie integriertes Debugging und Intellisense.

Es gibt viele, aber es wird empfohlen, eine zu verwenden, sie sind mehr als offensichtlich.

2
Nrj

Für mich ist es nur die GUI-Version von allem, was wir in den guten alten Tagen des Terminals getan haben. Ich werde immer zustimmen, dass IDE nicht sehr überlegen ist, weil sie viele Dinge verbergen, insbesondere was die Verknüpfungen betrifft, aber sie haben in einigen Fällen einen bemerkenswerten Vorteil, zum Beispiel bei bestimmten Entwicklungsplattformen wie Qt.

Einige IDE sehen sogar so aus, als würden sie Ihren Code während der Eingabe analysieren und Fehler erkennen, bevor Sie überhaupt kompilieren: Es scheint, als ob nur ein IDE eng mit einem Compiler zusammenarbeiten kann um sofort ein Problem in der eingegebenen Quelle zu erkennen.

Meine wilde Antwort darauf, dass es den IDE/Command-Line-Flame-Krieg gibt, ist, dass das ausführbare C/C++ - Gebäude aus standardisierter Sicht nicht sehr gut gehandhabt wird, im Gegensatz zur D-Sprache. Jede Plattform handhabt das Kompilieren/Verknüpfen/usw. auf ihre eigene Art und Weise, um die Unordnung zu verringern, erstellen sie eine IDE.

Aus Ihrer Sicht könnte es einfacher sein, die Befehlszeile zu verwenden, wenn es nur einen Compiler mit Standardoptionen gegeben hätte, wäre es einfach gewesen, aber die Wahrheit ist, dass C/C++ flexibel ist, also letztendlich alle Plattformen Mach es auf ihre eigene Art und Weise, daher die IDE, um nicht zu vergeuden, zu erklären, wie es geht.

Wenn Sie lernen können, wie eine ausführbare Datei mit dem Kernel kommuniziert, oder wenn Sie etwas über das Compiler-Design wissen, gibt es vielleicht eine Möglichkeit, mit einer richtigen Befehlszeile zu arbeiten, aber ich bezweifle, dass Sie dies tun.

Microsoft oder Apple, so schlimm sie auch sein mögen, müssen einen einfachen Weg vorschlagen, um eine Anwendung zu erstellen, ohne die Details einzugeben. Da das Erstellen einer Anwendung direkt von der Architektur des Betriebssystems abhängt, wird es kaum "Standard" sein Befehlszeile ist.

Einfache, große und komplexe Anwendungen, bei denen Sie nicht zu tief in die Aufgaben eintauchen möchten -> IDE, kleine Software-Teile oder einfaches Systemsoftware-Design -> Befehlszeile. Außer natürlich die tollen Bibliotheken, in denen ein Makefile eingebettet ist, aber das ist eine andere Geschichte.

Ich denke auch, dass IDE verwendet wird, wenn die gelieferte Anwendung etwas mit einer grafischen Benutzeroberfläche oder etwas zu tun hat, das eine Schnittstelle hat oder direkt an ein Betriebssystem gebunden ist eine UI/GUI, ohne zu wissen, wie es funktioniert, während Leute, die Systeme programmieren, nicht alles brauchen.

IDE ist nur moderne Scheiße, aber ich denke in 100 Jahren wird die Kommandozeile noch existieren.

2
jokoon

Mein Hauptgrund, einen zu verwenden, ist, wenn der Code über 100 Dateien hinausgeht.

Obwohl ctags die Arbeit erledigen können, haben einige IDEs eine ziemlich gute Möglichkeit, schnell und einfach durch die Dateien zu navigieren.

Es spart Zeit, wenn Sie viel zu tun haben.

2
OscarRyz

Ich bin nicht sicher, ob es eine klare Trennlinie zwischen einem Texteditor und einer IDE gibt. An einem Ende der Skala gibt es Notizblöcke und am anderen die besten modernen IDEs. Dazwischen liegt jedoch eine Menge. Die meisten Texteditoren haben Syntaxhervorhebungen. Editoren, die sich an Programmierer richten, verfügen häufig über verschiedene andere Funktionen, z. B. einfache Code-Navigation und automatische Vervollständigung. Mit Emacs können Sie sogar einen Debugger integrieren. Die IDEs von vor zehn Jahren hatten weitaus weniger Funktionen, die Programmierern helfen konnten, als man heutzutage von einem seriösen Texteditor erwarten würde.

2
Mark Baker

Es hängt stark davon ab, was Sie tun und in welcher Sprache Sie es tun. Persönlich neige ich dazu, kein IDE zu verwenden (oder "mein IDE besteht aus 3 laufenden xterms vim, einer, auf dem ein Datenbank-Client ausgeführt wird, und einer, auf dem eine Bash-Eingabeaufforderung oder ein Tailing-Protokoll angezeigt wird (je nachdem, wie umfassend Sie "IDE" definieren). Dann würde ich sofort nach einem sprachengerechten IDE greifen - IMO, IDEs und grafische Formularbearbeitung sind eindeutig aufeinander abgestimmt.

1
Dave Sherohman

Ein IDE erledigt Grunzarbeiten, die Ihnen Zeit sparen.

Alle zugehörigen Projektdateien werden zusammengehalten, wodurch die Zusammenarbeit vereinfacht wird.

Normalerweise können Sie Ihre Quellcodeverwaltung in Ihre IDE integrieren, um mehr Grunzarbeit zu sparen und die Zusammenarbeit weiter zu verbessern.

Wenn es über Funktionen zur automatischen Vervollständigung verfügt, kann es Ihnen dabei helfen, die Sprache Ihrer Wahl zu erkunden und Tippfehler zu vermeiden.

Grundsätzlich reduziert ein IDE den nicht programmierbaren Aufwand für den Programmierer.

1
databyss

Ich mag ein IDE weil es mir eine Menge Funktionalität zur Verfügung stellt. Das Bearbeiten/Kompilieren/Sichtbarmachen von Dateien im Projekt ist alles, was ich in einer IDE schätze. Ich benutze jetzt Visual Studio, aber in In einem früheren Leben habe ich SlickEdit verwendet und festgestellt, dass mein Entwicklungsprozess dadurch rationalisiert wurde, als wenn ich es nicht verwendet hätte.

1
itsmatt

Ich bin nicht ganz auf die Verwendung von IDEs verkauft. Ich denke jedoch, dass der wertvollste Aspekt einer guten IDE wie Eclipse das gut integrierte Cscope - schnelle Verständnis der Funktionalität einer großen Codebasis ist.

In Eclipse wird beispielsweise angezeigt, dass eine Methode ein Argument vom Typ FooBar annimmt, Sie jedoch keine Ahnung haben, was dies bedeutet. Anstatt eine Minute zu verschwenden, um die Definition auf die harte Tour zu finden (und dabei alle möglichen Ablenkungen zu riskieren), wählen Sie einfach FooBar und drücken Sie F3, und es öffnet die relevante Quelldatei in der Zeile, in der FooBar definiert ist.

Der Nachteil von IDEs ist meiner Meinung nach, dass sie Ihnen eine größere Lernkurve bieten, außer in dem Fall, in dem Sie die absolut standardmäßige Konfiguration verwenden möchten. (Dies gilt auch für Emacs.)

1
mmagin

Bei der Entscheidung, ob Sie IDE oder nicht) verwenden, ist nur eines zu berücksichtigen, und zwar, ob Sie dadurch produktiver werden oder nicht.

Kurze frage also kurze antwort :)

1
Nick Pierpoint

Es ist wirklich sehr einfach. Aber diese Antwort ist insofern ein Paradox, als ich etwas diskutiere, auf das nur EMBEDDED-Level-Entwickler jemals stoßen. Der Grund, warum dies eine seltsame Ansicht ist, ist, dass, wenn ich Embedded-Arbeit machte (die kurze Zeit, in der ich echtes Geld verdiente), ein IDE ziemlich seltsam wäre und die meisten Ihrer Mitarbeiter sich fragen würden, warum Sie das können Ich kann mich nicht genug an SNMP / ASN.1 oder an das Protokoll erinnern, mit dem Sie gerade zu tun hatten. ABER Sie können, soweit ich weiß, KEINE grafische Simulation dessen durchführen, was Ihr Mikrocontroller in so etwas wie/Echtzeit/ohne "IDE" macht.

1
John

Ich bevorzuge ein IDE, weil es mir erlaubt, das Editieren/Kompilieren/Debuggen mit einem 1-Klick-Sprung vom Fehler zur fehlererzeugenden Zeile zu integrieren. Außerdem erlaubt es mehrere Informationsbereiche mit OS- Standardschnittstellen zur Anzeige der Informationen: Kurz gesagt, der Benutzer erhält eine mausbasierte Eingabeschnittstelle mit einer modernen Ausgabeschnittstelle, anstatt sich für meine Hilfe auf die Technologie und die Schnittstellen der 1970er Jahre zu verlassen.

Es gibt anspruchsvollere Benutzer und Anwendungen für eine IDE, ich behaupte nicht, sie zu verwenden oder sie alle zu kennen. Wenn ich etwas brauche, werde ich es lernen.

0
Paul Nathan

Einfach ausgedrückt, ein IDE bietet zusätzliche zeitsparende Funktionen über einen einfachen Editor.

0
Brian Knoblauch