Ich benutze meinen Texteditor meiner Wahl (vim, nano, gedit, pick your poison) viel häufiger als jede andere IDE in der letzten Zeit.
Nachdem ich gemerkt hatte, dass meine IDE-Verknüpfungen staubig wurden, begann ich darüber nachzudenken und fragte mich: Was rechtfertigt die Verwendung einer IDE für Sie im Gegensatz zu einem Texteditor ?
Aus welchen Gründen würden Sie keine IDE verwenden und sich lediglich auf einen Editor verlassen?
ide
text-editor
environment
Chris
quelle
quelle
Antworten:
Das Ich: Integration . Ein guter Texteditor ist zwar nützlich, um Code zu schreiben, aber der größte Teil Ihrer Programmierung wird nicht für das Schreiben aufgewendet. Es ist ein Test und ein Debugging-Vorgang, für den Sie möchten, dass Ihr Texteditor in Ihren Compiler und Ihren Debugger integriert wird. Das ist die größte Stärke einer IDE.
quelle
Dies sind meine Lieblingsfunktionen meiner Lieblings-IDE, IntelliJ, die ich gerne für Java, PHP, Javascript, HTML und sogar ActionScript verwende.
Ctrl+click
für eine Funktion, eine Variable oder einen Text ein, um zur Definition zu gelangen. (IntelliJ kann das in allen oben genannten Sprachen sehr gut)Ctrl+space
ständig, um den Klassen- oder Methodennamen einzugeben, den ich benötige. Dies beschleunigt die Codierung einer Tonne und hilft sogar dabei, Fehler zu erkennen, bevor sie auftreten, wenn auf etwas, das Sie benötigen, in dem Kontext, in dem Sie sich befinden, nichtCtrl+space
zugegriffen werden kann. "NoPageError", etc. DasAlt+enter
automatische Hinzufügenimport
ist auch sehr schön.Dinge wie die Codefarbe, die Sie für selbstverständlich halten, aber eine gute Codefarbe ist wie eine periphere Sicht - Sie können sich auf das Wichtige konzentrieren, ohne den Bruchteil einer Sekunde länger zu brauchen, um das vollständige Wort zu identifizieren.
IntelliJ
Ctrl+space
schlägt sogar Variablennamen vor. Wenn Sie in Java eine neue EventMessageItem-Variable deklarieren und drückenCtrl+space
, wird "eventMessageItem", "eventMessage", "item" usw. vorgeschlagen.All diese Dinge geben mir viel mehr Zeit, um über meinen Code und meine Architektur nachzudenken und weniger über das Korrigieren der Formatierung, den Umgang mit dem Dateisystem, das Korrigieren von Fehlern beim Kopieren und Einfügen, das Wechseln zwischen Anwendungen, das Aufspüren der Dokumentation usw. usw. Ich weiß nicht, wie man eine solche Produktivitätssteigerung ablehnen kann.
quelle
IDEs verstehen Ihren Code viel besser als ein Editor. Dies ermöglicht beispielsweise das Vervollständigen und Umgestalten von Identifikatoren, was für ausführliche Sprachen wie Java ein Geschenk Gottes ist.
quelle
quelle
Produktivität. Gibt es eine andere Rechtfertigung, die Sinn macht? Für mich eine gut konzipierte IDE, die viele der Funktionen zentralisiert, die ich beim Programmieren ausführe - Erstellen und Bearbeiten von Code, Verwenden der Quellcodeverwaltung, Debuggen, Interagieren mit Projektmanagement-Tools, Kommunizieren mit anderen Programmierern, Erstellen von Dokumentation und Ausführen automatisierter Tests - reduziert drastisch die Prozessreibung, die meine Produktivität verringert.
Auch wenn ich das Gefühl habe, jedes Tool einzeln verwenden zu müssen, möchte ich das nicht müssen. Zumindest für mich ist ein rechter Mausklick dem Öffnen einer CLI und dem Tippen unendlich vorzuziehen.
Ich habe viele verwendet, aber die IDEs, auf die ich immer wieder zurückkehre, sind Visual Studio, Wing IDE und NetBeans. Alle tragen erheblich zur Zeit bei, die ich mit Programmieren verbringe.
quelle
In der Vergangenheit waren IDEs auf einem Single-Tasking-Computer unübertroffen praktisch. Mein erster C-Compiler benötigte die folgenden Schritte im Zyklus zum Bearbeiten, Kompilieren und Ausführen:
auf meinem CP / M-System. (Ich hätte vieles davon als Batch-Programm automatisieren können, wenn meine Festplatten größer gewesen wären.)
Als ich Turbo Pascal bekam, war ich erfreut, den Editor während des Kompilierens und Debuggens verfügbar zu halten.
Ich glaube, das hat IDEs überhaupt erst populär gemacht.
quelle
Wenn Sie in Lisp programmieren, verfügt Emacs über Intellisense-ähnliche Funktionen wie das Nachschlagen von Methodenparametern und die automatische Vervollständigung. Sie können also sagen, dass es sich um die ursprüngliche IDE handelt. Es ist auch schön, ein Programm für mehrere Aufgaben verwenden zu können (Bearbeiten im Allgemeinen, Shell / Eingabeaufforderung, Nachrichten lesen).
Im Allgemeinen scheint die Frage Editor vs. IDE von der Programmiersprache abzuhängen. Nach allem, was ich gesehen habe, scheinen die Programmierer Ruby und Haskell ihren bevorzugten Texteditor zu bevorzugen.
quelle
um ein paar zu nennen
quelle
Ich denke, die Antwort hängt stark davon ab, welche Programmiersprache Sie verwenden und wie gut Sie darin sind. Für Sprachen wie JAVA ist eine IDE ein Muss, wenn Sie etwas Ernstes tun. Überall dort, wo Skriptsprachen wie JS oder Ruby IDES nicht viel bringen.
Ich benutze Notepad ++ und eine Reihe von Shell-Skripten (für Backups, Git-Commits) für meine Entwicklung und es funktioniert einwandfrei.
quelle
Einige Argumente für "Redakteure":
Ich benutze jeden Tag eine IDE, um zu arbeiten, sonst ist es schwierig, Java / C # zu schreiben.
(2) im Vergleich zu (3): Grundsätzlich nur die Option, Dateien remote zu bearbeiten (über ssh / remote desktop) und minimale Änderungen an der Konfiguration oder den Dateien eines entfernten Servers vorzunehmen.
quelle
Abhängig von Ihrer Sprache enthalten einige IDEs auch visuelle Formular- / Fensterdesigner.
Obwohl darauf hingewiesen werden sollte, ist die Grenze zwischen dem Texteditor eines Programmierers und einer IDE nicht genau definiert. Viele Editoren können erweitert werden, um Kompilierung, Code-Vervollständigung, Debugging usw. zu erledigen.
quelle
Ich verwende die IDE zum Testen / Debuggen / Integrieren und KEDIT zum Bearbeiten, da die IDE in ihren Bearbeitungsmöglichkeiten stark eingeschränkt ist.
Da die .NET-IDE externe Änderungen erkennt, muss ich nur im Editor speichern und die Aufforderung zum erneuten Laden der Quelle akzeptieren. Dadurch kann ich gleichzeitig meine Bearbeitungs- und Debugging-Funktionen optimieren.
Für andere IDEs verwende ich KEDIT als Vorlagenprozessor und Quellensuchprogramm und kopiere / füge diese Quelle in die IDE ein.
quelle
Für IDE: -
Erweiterte Funktionen sind ab Werk verkabelt.
--Einige Funktionen sind für Ihr Framework so spezifisch, dass Editoren keine Entsprechung haben.
Für den Redakteur:
--Halten Sie Ihre Hände auf der Tastatur.
- Ihre Entwicklungsumgebung ist auf allen Systemen gleich -
Bessere Skripterstellung für Ihren Editor -
Einige Funktionen einer IDE sind mit externen Tools oder Skripten verfügbar. (Intellisense, gehe zu Definition, finde Referenzen)
quelle
Kurze Lernkurve. Das ist es.
quelle
Das einzige, was ich wirklich empfehlen würde, ist der Debugger. Eine IDE ist eigentlich ein Editor mit einer Menge weiterer hinzugefügter Gubbins. Wenn Sie jedoch make (oder den Aufwärtspfeil + die Eingabetaste) in eine Eingabeaufforderung eingeben, benötigen Sie keine IDE. Wenn Sie SCM aktivieren können, indem Sie mit der rechten Maustaste auf den Explorer klicken und das richtige Menüelement auswählen, benötigen Sie keine IDE.
Jetzt weiß ich, dass einige Leute Dinge wie Refactoring-Unterstützung (Schreiben Sie Ihren Code gleich beim ersten Mal :) oder einen integrierten GUI-Designer benötigen (aber selbst dann, wenn ich Visual Studio verwende, verwende ich Expression, um meine GUI-Arbeit zu erledigen, nicht die beschissene XAML-Unterstützung in VS) ), und viele Menschen brauchen Intellisense und Autocomplete (insbesondere für ausführliche Sprachen wie Java und C #, die sehr lange Namen haben).
Für mich ist der GUI-Debugger der einzige wirklich gute Grund, die IDE zu verwenden. Ich benutze immer noch einen 'Kommandozeilen'-Debugger (naja, windbg), aber für den täglichen Gebrauch ist es der eingebaute für VS.
quelle
Eine IDE bietet Vorteile. Es gibt nicht in allen Sprachen eine umfassende IDE, um wirklich den Ausschlag zu geben, oder es könnte unerschwinglich sein, eine für diese Sprache zu erstellen. Gründe, warum würde eine IDE wollen? Nun fangen wir mit diesen an:
Das Problem ist, dass nicht alle Sprachen mit einer umfassenden IDE wirklich einen großen Produktivitätsgewinn erzielen. Ich verwende IDEs für einige meiner Arbeiten (Java, C #), aber nicht für andere (Python, Ruby, Coldfusion). Alles ist wirklich ein Balanceakt. Einige Sprachen erfordern einfach keine so umfassende Suite.
Gibt es IDEs für jeden? Sicher. Benötigen Sie immer einen? Nicht wirklich.
quelle