Steve Yegge schrieb einen Kommentar in seinem Blog :
Alle größten Ingenieure der Welt verwenden Emacs. Die Weltveränderertypen. Nicht das große Mädchen im Würfel neben dir. Nicht Fred, der erstaunliche Kerl im Flur. Ich spreche von den größten Softwareentwicklern unseres Berufs, die das Gesicht der Branche verändert haben. Die James Goslings, die Donald Knuths, die Paul Grahams, die Jamie Zawinskis, die Eric Bensons. Echte Ingenieure verwenden Emacs. Man muss sehr schlau sein, um es gut zu nutzen, und es macht einen unglaublich mächtig, wenn man es beherrscht. Schauen Sie Paul Nordstrom über die Schulter, während er irgendwann arbeitet, wenn Sie mir nicht glauben. Es ist ein echter Augenöffner für jemanden, der während seiner gesamten Karriere Visual Blub .NET-ähnliche IDEs verwendet hat.
Emacs ist der 100-jährige Herausgeber.
Das letzte Mal, dass ich einen Texteditor zum Schreiben von Code verwendete, war damals, als ich vor etwa 1000 Jahren noch HTML in Notepad schrieb. Seitdem bin ich mehr oder weniger IDE-abhängig und habe während meiner gesamten Karriere Visual Studio, NetBeans, IntelliJ, Borland / Codegear Studio und Eclipse verwendet.
Für was es wert ist , ich habe Emacs versucht, und meine Erfahrung war ein frustrierender einen wegen seines völligen Mangels an out-of-the-box Erkennbar Funktionen. (Anscheinend gibt es einen Emacs-Befehl zum Entdecken anderer Emacs-Befehle, den ich übrigens nicht finden konnte - es ist, als würde man seinen eigenen grausamen Zen-ähnlichen Witz leben.) Ich habe versucht, mich für einen guten Monat wie das Programm zu fühlen, aber schließlich Ich habe mich stattdessen für Drag-and-Drop-GUI-Designer, IntelliSense und interaktives Debugging entschieden.
Es ist schwer, Fakten von Fanboyismus zu trennen, daher bin ich noch nicht bereit, Yegges Kommentare zum Nennwert zu nehmen.
Gibt es einen messbaren Unterschied in Bezug auf Fähigkeiten, Produktivität oder Programmierfreude zwischen Menschen, die von IDEs abhängig sind, und solchen, die dies nicht tun, oder ist alles nur Fanboyismus?
quelle
Antworten:
Lassen Sie mich zunächst sagen, ich bin ein bekennender wahrer Gläubiger des Emacs-Kultes.
Das heißt, der Blogger ist verrückt. Sie schreiben in das, was Sie nützlich finden. Ich finde, dass Emacs mir hilft, hauptsächlich, weil ich meine College-Jahre damit verbracht habe, die Startkosten dafür zu bezahlen, dass ich gelernt habe, wie ich es an meine Bedürfnisse anpassen und mich an seine Bedürfnisse anpassen kann.
Aber andere Leute machen die Dinge anders und wie sie sagen "Das ist in Ordnung".
quelle
Er (Steve Yegge) hat dies in Stücken, in anderen Postings von ihm näher ausgeführt. http://steve-yegge.blogspot.com/2008_04_01_archive.html ist wahrscheinlich die umfassendste, aber die Informationen sind dort vergraben, da sie sich auf das Hauptthema beziehen.
Ich denke, um es zusammenzufassen: Die Programmierer, die nur gut oder kompetent sind, werden eine IDE aufgreifen und sie wirklich gut kennenlernen und vielleicht anständig genug darin tun, aber sie werden sich auf das beschränken, was die IDE für sie bereitstellt. Mit anderen Worten, sie passen sich der IDE an. Die großen Programmierer, auf der anderen Seite, wird ihr anpassen Umwelt anzupassen , sich in einer solchen Art und Weise , wie Skripte oder ihre eigenen Werkzeuge zu schreiben, oder erweitern ihre Werkzeuge. Und zu diesem letzten Punkt nicht nur Emacs das ist am meisten erweiterbare Umgebung gibt es, es ist auch die einfachste Umgebung zu erweitern gibt es, und es ist die Umgebung , in der Sie die meisten ernten Nutzen Wenn Sie es erweitern, werden Ihre Erweiterungen in Emacs integriert, als wären sie Standardfunktionen. Daher können Ihre zukünftigen Erweiterungen auf Ihren vorherigen Erweiterungen aufbauen (so etwas wie eine positive Rückkopplungsschleife).
quelle
Die besten Programmierer verwenden vi oder emacs, weil die erfahrensten Programmierer die besten sind, und vor 20 Jahren gab es außer vi und emacs keine große Auswahl.
Nachdem ich mit vi (ca. 1987) auf einer Maschine mit einem sehr langsamen Textterminal begonnen hatte, konvertierte ich nach einigen Jahren (auf einer schnelleren Maschine) zu (GNU) Emacs und benutzte es fast ausschließlich für fast 10 Jahre.
Emacs war die erste wirklich integrierte Entwicklungsumgebung - der gesamte Bearbeitungs- / Link- / Kompilierungszyklus konnte in Emacs gesteuert werden, und Sie konnten Ihre eigenen für jeden von Ihnen verwendeten Compiler erstellen.
Heutzutage sind IDEs wie Eclipse noch besser integriert (um ehrlich zu sein: Emacs saugt an Grafiken), aber Emacs ist immer noch eine der besten Umgebungen für die "reine" Textbearbeitung.
quelle
Wenn Sie Ihr klares Denken und Ihre Problemlösung verbessern, werden Sie zu einem besseren Programmierer. Kein Programm kann das.
Die Verwendung eines besseren Hammers hilft mir nicht, ein schöneres Haus zu bauen, wenn ich nicht weiß, wie und warum. ;)
quelle
Yegge muss Bill Joy treffen. Er ist nicht nur einer der großen Programmierer der Welt, er hat auch große Stücke von vi geschrieben. In vi.
Kurzes beschämendes Geständnis: Nach 20 Jahren, in denen ich vi (und vim / gvim in den letzten Jahren) für alles verwendet habe, habe ich im letzten Jahr angefangen, Eclipse für die Java-Bearbeitung (und Thunderbird für E-Mail) zu verwenden, obwohl ich bei meinem derzeitigen Job meine Die Maschine hat so wenig Speicher, dass ich normalerweise vi verwende, außer wenn ich den Debugger benötige.
quelle
Lassen Sie uns dies auf Visual Studio vs. Emacs eingrenzen - ansonsten ist die Frage zu weit gefasst, und ich vermute, dass die meisten Leute (zumindest hier bei StackOverflow) mit diesen beiden vertraut sind. [Ich bin und ich benutze und bevorzuge Emacs]
Lassen Sie uns als nächstes die drei Komponenten der Frage aufschlüsseln.
Das Programmiervergnügen besteht darin, vor allem das Programmieren an sich zu mögen und zweitens keine störenden Faktoren zu haben, wenn Sie dies tun. Die Verwendung von Werkzeugen, mit denen Sie zu kämpfen haben, wird vom Genuss abziehen. Ich würde also schätzen, dass der Genuss wahrscheinlich durch die Verwendung von Tools maximiert wird, die Sie mögen und mit denen Sie vertraut sind.
Wenn Sie sich mit einem neuen Tool vertraut gemacht haben, werden Sie feststellen, dass Ihnen dieses Tool besser gefällt, und Sie werden daher gerne mehr programmieren, wenn Sie es mit Ihrem neuen Tool tun Lieblingswerkzeug . Mir ist nicht klar, dass Menschen VS im Allgemeinen gegenüber Emacs mögen (oder umgekehrt), wenn sie beide gut kennen.
Als nächstes Programmierkenntnisse. Wenn es einen Zusammenhang zwischen der Fähigkeit und der Wahl von VS / Emacs gibt, denke ich, dass es die Fähigkeit ist, die die Wahl verursacht, nicht die Wahl, die die Fähigkeit verursacht. Keiner von {VS, emacs} scheint mich meiner Erfahrung nach dazu zu bringen, etwas über das Schreiben besser zu lernen Code zu .
Mit einem guten Tool kann ich möglicherweise in kürzerer Zeit denselben Code (und damit dieselbe Codequalität ) schreiben . Wenn wir das annehmen,
productivity = quality of code `times` code per time
liegt es nahe, dass jeder Editor, mit dem Sie guten Code in kürzerer Zeit schreiben können, eine Produktivitätssteigerung darstellt.Ich bin vielleicht zu unbekannt mit VS, aber hier denke ich, dass Emacs einige Stärken hat, die ich in VS nicht gefunden habe. Es mag lächerlich klingen, aber etwas so Einfaches wie Cursorbewegung mit
Ctrl-[fbnp]
ist ein wahrer Segen - es bedeutet, dass Sie Ihre Hände nicht zu den Pfeiltasten bewegen müssen. Eine andere Sache: Sie können eine Suche oder einen Ersatz durchführen, der Zeilenumbrüche enthält, die ich oft genug verwende, um sie nicht zu verpassen.Eine andere Sache, die ich mag, ist die Möglichkeit, eine Shell in meinen Editor einzubetten. Nach meiner Erfahrung ist es auf Nicht-Windows-Plattformen viel wertvoller (und meine erste "Programmiererfahrung", IIRC, war das Schreiben von DOS .bat-Dateien, also bin ich nicht nur ein flammender Fanboy), aber auf diesen Plattformen ist es ein großer Gewinn . Emacs "integrieren" sich in "alles" (Dateisuche mit Suchen / Suchen, Textsuche mit Grep, Versionskontrolle mit svn / git / hg / ..., wie Sie es nennen).
Endgültiges Urteil - sollten Sie Emacs lernen oder nicht? Und ist das alles Fanboyismus? Wenn Sie Zeit haben, würde ich sagen, dass es sich immer lohnt, neue Wege zu lernen, um dasselbe zu tun, denn der neue Weg könnte sich als besser für Sie herausstellen. Und ich ermutige Sie, es nicht für das abzulehnen, was es zu sein scheint, wenn Sie alle neu darin sind. In diesem Sinne ist es wie ein Wechsel zum Dvorak-Tastaturlayout: Sie sind zunächst langsamer, aber wenn Sie erst einmal auf dem neuesten Stand sind, sind Sie wahrscheinlich mindestens so schnell wie bei QWERTY und komfortabler. Ich empfehle den gleichen Ansatz, um auch neue (Programmier-) Sprachen zu lernen: Weil Sie das Vokabular (Standardbibliothek) nicht kennen, ist es schwierig, Dinge zu sagen, aber die Belohnung wartet immer noch auf Sie.
quelle
Mit dem zitierten Text, der mit "Alle größten Ingenieure der Welt verwenden Emacs" beginnt, würde ich ihn auch nicht zum Nennwert nehmen. Kennt er alle größten Ingenieure der Welt? Ist es die gleiche Liste der weltbesten Ingenieure, die Sie oder ich haben?
Einmal erlernt, werden Sie mit einem leistungsstarken Editor wie EMACS oder vi effizienter oder zumindest effizienter, wenn Sie ohne Ihre Lieblings-IDE erwischt werden.
Es ist der "einmal erlernte" Teil, der den Mörder ausmacht. Es ist viel Arbeit und Übung, diese Tools produktiv einzusetzen, und es ist am Anfang sehr schwierig.
quelle
Ich persönlich bin ein Emacs-Fan, aber Emacs ist nur ein Werkzeug. Es macht Sie nicht mehr zu einem besseren Programmierer als ein ausgefallener Stift zu einem besseren Schriftsteller.
Die Klarstellung, dass "großartige Programmierer" ihre Umgebung an sich selbst anpassen, mag einige Vorteile haben, aber viele Tools können dies tun (z. B. vim und SlickEdit), sodass Emacs in dieser Hinsicht nichts Besonderes ist.
Ich denke, was höchstwahrscheinlich wahr ist, ist, dass "großartige Programmierer" eine Leidenschaft für das Programmieren haben und Leute, die eine Leidenschaft dafür haben, dazu neigen, Werkzeuge zu finden, die helfen, diese Leidenschaft voranzutreiben. Emacs (und vim und SlickEdit et al.) Ist ein solches Werkzeug.
quelle
Ich glaube nicht, dass es einen Unterschied gibt, es ist eher eine Frage der Präferenz.
Was mir jedoch aufgefallen ist, ist, dass je länger Sie codiert haben oder je niedriger die Ebene, die Sie codiert haben, desto höher die Wahrscheinlichkeit ist, dass Sie Emacs oder vi verwendet haben.
quelle
Während die IDEs in den letzten zehn Jahren viel besser geworden sind, enthalten sie die Programmierung immer noch in einer kleinen sicheren "Blase", weit weg von einigen der hässlicheren Details. Was dazu neigt, ist, dass diese Zunahme der Abstraktion es mehr Programmierern ermöglicht, mit weniger Wissen mehr zu tun. Das gilt natürlich nicht für alle Programmierer, aber einfachere Tools bringen die Programmierung einem breiteren Publikum näher.
Mehr Wissen über untergeordnete Tools führt häufig zu mehr Stabilität im Code, da die Wahrscheinlichkeit geringer ist, dass versehentlich gegen den Strich geht. Es ist unfair, EMACS nur als den einzigen Frühindikator aufzulisten, da es aus einer ganzen Reihe von Sprachen und Tools stammt und sich mehr um die Tiefe des Verständnisses als um die spezifische Technologie dreht.
Vor langer Zeit haben Sie entweder VI oder EMACS auf den UNIX-Boxen gelernt oder sich auf PCs spezialisiert (OK, es gab auch VMS, CMS, AS400 usw., aber das waren ältere Technologien). Beide Streams zogen sehr begeisterte Leute an, aber die UNIX-Leute wollten eher eine ausgefeilte Lösung, während die PC-Leute nur wollten, dass es schnell geht. Die Kulturen waren sehr unterschiedlich.
quelle
IMHO-IDEs werden in der Regel für eine bestimmte Plattform, Sprache oder ein bestimmtes Betriebssystem optimiert: Eclipse JDT eignet sich hervorragend für Java, Visual Studio ist C ++ /. NET-zentriert usw. Sie tragen erheblich zur Produktivität bei (wiederum IMHO), wenn Sie nur daran arbeiten diese Plattform, aber wenn Sie die Plattform wechseln, müssen Sie im Grunde eine neue IDE lernen (oder zumindest eine neue Reihe von Plugins, Ansichten, Perspektiven und ich weiß nicht, was noch für Eclipse).
Der Vorteil, Emacs, Textmate, Vim (meine persönliche Präferenz) oder einen generischen Editor zu kennen, besteht darin, dass die Fähigkeiten, die Sie in diesem Editor erwerben, unabhängig davon gelten, für welche Plattform Sie schreiben. Sie sind für die Bearbeitung von Text optimiert. Sobald Sie sie beherrschen, können Sie Text in jeder Sprache sehr effizient bearbeiten.
Es gibt auch die Behauptung von Yegge, dass großartige Programmierer ihre Werkzeuge eher an ihren Arbeitsstil anpassen als umgekehrt. Ich denke, dies ist ein Gewinn für generische Editoren, da Sie einen Editor anpassen , anstatt herausfinden zu müssen, wie vier verschiedene IDEs so angepasst werden können , dass sich alle so verhalten, wie Sie es möchten.
quelle
C-[npfbaed]
. (Aber leider nichtM-
)Ich würde argumentieren, dass die besten Programmierer in der Regel diejenigen sind, die sich die Zeit nehmen, um ihre Umgebung anzupassen, wodurch es schneller / einfacher wird, die Aufgaben auszuführen, die sie wahrscheinlich ausführen werden. Emacs ist einer der leistungsstärksten Editoren, wenn es um die Anpassung Ihrer Umgebung geht. Es hat eine steile Lernkurve, aber sobald Sie diese überwunden haben, gibt es praktisch keine Grenzen mehr, was Sie für Sie tun können.
Jemand hat einmal gesagt, dass die besten Programmierer die Faulen sind; diejenigen, die, sobald sie etwas mehr als einmal tun müssen, einen Weg finden, es zu automatisieren, so dass es weniger Aufwand erfordert. Emacs erlaubt dir sehr, sehr faul zu sein;)
quelle
Ich habe IDEs von Anfang an verwendet (wohl, nachdem ich mit QBASIC angefangen habe) und seit vielen, vielen Jahren. Ich habe jetzt für meine gesamte Entwicklungsarbeit fast vollständig auf VIM (in verschiedenen Geschmacksrichtungen) umgestellt und bereue es nicht. Meine Produktivität hat definitiv zugenommen.
Natürlich wird der Windows Forms-Designer von Visual Studio durch nichts ersetzt. Aber im Vergleich zu VIM (und Emacs, da bin ich mir sicher) ist der Texteditor in Visual Studio wirklich mies. Sobald Sie die rohe Leistung der Konsole und der GNU-Entwicklertools (womit ich meine
make
, GCCbinutils
undgdb
einige mehr ) nutzen, werden Sie feststellen, dass diese Tools zwar primitiv aussehen, aber genau das Gegenteil sind und tatsächlich alles bieten die Tools, die eine IDE bereitstellt (mit Ausnahme des Formular-Designers).Es ist nur so, dass Sie einen sehr steilen Aufstieg vor sich haben, wenn Sie diese Tools zum ersten Mal verwenden, und der Anreiz kann gering sein. Ich hatte das Glück (?), Diese Werkzeuge verwenden zu müssen, sodass ich keine Wahl hatte, aus der ich mich wieseln konnte.
quelle
Persönlich denke ich, dass Sie alles verwenden sollten, was Sie produktiver macht. Wenn Sie nicht die Zeit haben, in ein Projekt zu investieren, um Emacs zu lernen, ist dies zu diesem Zeitpunkt wahrscheinlich nicht die beste Nutzung Ihrer Zeit.
Ich halte es jedoch für eine gute Idee, andere IDEs kennenzulernen, wenn Sie genügend Zeit dafür haben. Ich verwende Visual Studio in meiner täglichen Arbeit, aber zu Hause verwende ich Eclipse für kleine Projekte und habe es verwendet Emacs auch. An dem Punkt, an dem ich überlegte, Emacs zu verwenden, war es besser, meine Arbeit zu erledigen, als mich mit Emacs zu verlangsamen.
Ich finde es bis zu einem gewissen Grad absurd zu denken, dass alle besten Programmierer Emacs verwenden. Es gibt viele erstaunliche Programmierer, die nicht so beliebt sind (oder vielleicht nicht so lautstark) und Emacs nicht verwenden.
quelle
Ich habe vor ungefähr anderthalb Jahren angefangen, Emacs zu verwenden, weil es das Zusammentreffen mehrerer Wünsche war - ich wollte mit regulären Ausdrücken arbeiten (in einem Editor, der sie unterstützte), wollte Lisp lernen, wollte einen besseren Editor.
Durch das Bearbeiten meines Codes mit regulären Ausdrücken habe ich viel über das Finden von Mustern im Code gelernt. Es dauerte eine Weile, bis ich mich an die Tastenanschläge gewöhnt hatte, aber ohne die Maus fliege ich viel schneller.
Emacs gab mir die Möglichkeit, mit meinen Notizen und meiner Codierung in derselben Anwendung zu arbeiten - minimale Kontextumschaltung bedeutet minimale Gehirnumschaltung, und ich kann mich auf die anstehende Aufgabe konzentrieren.
quelle
Guter Code macht Sie zu einem besseren Programmierer.
Eine gute Textmanipulation ist jedoch der Schlüssel zur Effizienz. Entweder vim oder emacs ändern die Art und Weise, wie Sie mit Text arbeiten - beide haben sich als effektiv erwiesen, stehen jedoch in Bezug auf den Stil fast im Widerspruch zueinander. Außerdem ist diese Debatte ziemlich alt (zurück in die 80er und 90er Jahre, als Text -> Compiler der Schlüssel war), daher gibt es viele andere Texteditoren und / oder IDEs, die Ihnen helfen können, der beste Programmierer zu sein, der Sie sein können.
quelle
Nein. Wenn Sie glauben, dass die Verwendung von Emacs Sie zu einem besseren Programmierer macht, verwechseln Sie Ursache und Wirkung.
Ich benutze es jedoch täglich. Ich finde, dass ich mit Emacs + Maven produktiver bin als mit Eclipse für die Java-Entwicklung (obwohl ich Eclipse immer noch hin und wieder starte, um gelegentlich Refactoring- oder Debug-Sitzungen durchzuführen).
Das sind meine Gründe:
quelle
Für mich ist der Hauptgrund, warum ich Emacs anstelle einer IDE wählen würde, dass ich damit alles nur über meine Tastatur erledigen kann. Dies ist insofern schön, als es einige Zeit spart, wenn ich normalerweise eine Maus verwenden würde. Da ich sehr mobil bin, neige ich auch dazu, meinen Programmier-Groove aufgrund der Verwendung meines langsamen Touchpads zu unterbrechen. Darüber hinaus lässt seine Anpassung einige IDEs für mich überstrahlen. Wenn Sie jedoch feststellen, dass Sie mit einer IDE schnell genug programmieren, ist die Lernkurve von Emacs die Mühe nicht wert.
quelle
Gibt es einen messbaren Unterschied in Bezug auf Fähigkeiten, Produktivität oder Programmierfreude zwischen Menschen, die von IDEs abhängig sind, und solchen, die dies nicht tun, oder ist alles nur Fanboyismus?
Ich glaube nicht, dass Sie wirklich eine Antwort darauf bekommen könnten. Es gibt so viele verschiedene Möglichkeiten, um Fähigkeiten, Produktivität und Programmierspaß zu messen - und alle sind wahrscheinlich sehr subjektiv und / oder können nicht in EINE Sache zerlegt werden, die dies verursacht oder nicht.
Es ist immer noch eine interessante Frage.
Mein persönlicher Glaube ist - es kommt auf den Programmierer an :)
G-Man
quelle
Ich denke nicht, dass es Sie zu einem besseren Programmierer machen würde, aber wenn Sie DIESES Level haben, werden Sie höchstwahrscheinlich Emacs (oder vi) verwenden.
: - /
Das Gute an diesen beiden (ich habe noch nie Emacs verwendet, aber ich benutze vi immer noch für die alltäglichste Aufgabe) ist die Tatsache, dass sie Ihren Gedankengang nicht unterbrechen , Sie müssen Ihre Hände nicht herausnehmen Klicken Sie auf die Tastatur, um die Maus zu greifen, und suchen Sie im Dateimenü nach der richtigen Option. Schreiben Sie einfach weiter. In deinem Kopf sagst du etwas wie: "Ersetze alle Vorkommen dieses Wortes dafür", drücke die Eingabetaste und fahre mit deiner Arbeit fort.
Außerdem denke ich nicht, dass sie Emacs verwenden, ist ihr einziges Werkzeug.
Würde es Sie zu einem besseren Programmierer machen? Wahrscheinlich nicht. Aber wenn Sie über dieses Fachwissen verfügen, wird Ihnen wahrscheinlich gefallen, wie schnell Sie mit diesen Tools codieren können.
quelle
Nein.
Disziplin, kritisches Denken und der Wunsch nach Selbstverbesserung machen Sie zu einem besseren Programmierer. Ihr Werkzeugsatz ist zwar ein wichtiger Faktor für Ihre Produktivität, schafft aber kein Genie.
Wenn Sie Emacs oder Vi nicht mögen, verwenden Sie sie nicht. Indem Sie sich bewusst dagegen entscheiden, gestalten Sie Ihre Entwicklungsumgebung so, dass sie Ihren eigenen Bedürfnissen und Arbeitspraktiken entspricht. In jedem Fall haben Sie das Recht, das zu verwenden, was Sie möchten - und jeden zu ignorieren, der dumm genug ist, Sie für das Tool zu beschimpfen, mit dem Sie Bits auf die Festplatte schreiben - es sind die Bits, die wichtig sind.
Hinweis: "Werkzeugsatz" bedeutet hier wörtlich "Marke" von Werkzeugen - spezifische Editoren, Compiler usw. Konzeptionelle Werkzeugsätze, z. B. die Verwendung der Versionskontrolle, Unit-Tests - alles im Allgemeinen - sind Teil des Selbst- Verbesserungsprozess.
quelle
Eine der großartigen Eigenschaften von Emacs ist, dass es so ziemlich jeden Dateityp verarbeiten kann, den Sie darauf werfen, egal welcher Größe. Zugegeben, wenn Sie eine verrückte, riesige, verschlüsselte Datei öffnen, ist dies nicht unbedingt nützlich, wird aber geöffnet. Die meisten Editoren (und IDEs) bereiten Ihnen große Sorgen, wenn Sie ihnen eine Datei geben, die zu groß ist und / oder nicht zu den erwarteten Formaten gehört.
Versuchen Sie beispielsweise, eine 1-Gig-Datei im Editor zu öffnen.
Ich habe Emacs irgendwann um 1980 verwendet und es war schon immer ein Werkzeug in meiner Toolbox. Es ist nicht der einzige Werkzeug, aber es ist immer etwas, an das ich mich wenden kann und weiß, dass ich in der Lage sein werde, nützliche Arbeit zu leisten.
Obligatorischer entzündlicher Kommentar : Andererseits habe ich nichts Gutes über vi zu sagen. Ich hatte immer das Gefühl, dass vi mich glücklich töten und meine Organe nur aus Trotz verkaufen würde ...
Im wirklichen Leben verwende ich Netbeans für fast alle Formen der Entwicklung und verwende ab und zu Emacs, um eine schnelle Bearbeitung vorzunehmen. Es gibt fast nichts da draußen, das so bequem ist wie Emacs (für mich), wenn es darum geht, etwas Verrücktes im Moment zu erledigen.
Muss noch jemand statische Zeichenfolgen in kompilierten ausführbaren Binärdateien bearbeiten? Gibt es ein besseres Werkzeug für solche Dinge als Emacs? Es funktioniert auf jeden Fall für mich.
quelle
Ich weiß, dass Sie das nicht gefragt haben, aber eine Sache, die das Erlernen von Emacs (unerwartet) für mich verbessert hat, war die Manipulation einer Befehlszeile. Bevor ich Emacs-Tastenkombinationen lernte, bewegte ich den Cursor und navigierte mit den Cursortasten durch den Verlauf, weil ich es nicht besser wusste. Es war so etwas wie ein Glühbirnen-Moment, als mir klar wurde, dass ich es nutzen
backward-word
kannmove-beginning-of-line
undbackward-kill-word
(an den ich mich immer gebunden habeC-w
, wie Stevey vorschlägt ) inbash
(M-t
ist oft auch nützlich und am beeindruckendsten für diejenigen, die es noch nie gesehen haben).Ich arbeite ziemlich viel an Solaris, wo die Root-Shell "die Posix-Shell" ist und standardmäßig keine Emacs-Bindungen hat. Ich finde, dass meine Finger jetzt
exec bash
jedes Mal, wenn ich mich anmelde, von selbst tippen , so viel schneller fühle ich mich mit den jetzt bekannten Bearbeitungsbefehlen unter meinen Fingern.Ich muss allerdings zugeben, dass ich Knuths Bücher immer noch schwer finde (obwohl es sich lohnt) - also denke ich nicht, dass es meine Programmierung auf magische Weise verbessert hat.
quelle
Emacs hat mich bei der Textmanipulation und der Dateisystemnavigation effizienter gemacht . Und da diese beiden Dinge beim Programmieren eine Rolle spielen, bin ich ein effizienterer (also besserer) Programmierer.
quelle
Ich denke, Emacs kann Sie zu einem besseren Programmierer machen, wenn auch indirekt. Ich denke, Emacs hat mich dazu gebracht, tatsächlich in einer funktionalen Sprache ( Elisp ) zu schreiben, die mich für andere funktionale Sprachen ( Clojure ) interessiert, von denen mir gesagt wurde, dass sie mich zu einem besseren Programmierer machen. Das heißt, ich nehme an, die Zeit wird es zeigen.
quelle
Wenn Sie einen anpassbaren Editor verwenden können, können Sie raffinierte Dinge erledigen, aber insbesondere Emacs sind nicht unbedingt die bestmöglichen. Ich bin selbst ein SlickEdit-Benutzer und mache damit die gleichen seltsamen halbautomatisierten Sachen, für die Emacs berühmt ist. Ich habe Leute gesehen, die ähnliche Dinge mit vi und verschiedenen Windows-basierten Editoren gemacht haben.
Also, ja, Sockel-Sets sind gut, aber zu argumentieren, dass Craftsman das One True Socket-Set macht, ist irgendwie dumm.
quelle
Wenn Sie die Emacs-Tastenkombinationen und die integrierten Funktionen beherrschen, können Sie Text schneller bearbeiten als IDEs wie Eclipse oder Visual Studio.
Nehmen Sie nicht mein Wort und sehen Sie sich diese Videos von Profis an, die Emacs verwenden .
Sobald Sie in Emacs ein anständiges Niveau erreicht haben, können Sie jede Sprache effektiv bearbeiten: Java Script, Java, Ruby, Python, HTML, C, C ++ usw.
Der Einstieg in Emacs ist ein Schmerz im Hintern, die Out-of-the-Box-Erfahrung ist schlimmer als schlecht. Die Emacs-Standardkonfiguration setzt den Emacs-Neuling nicht den leistungsstärkeren Funktionen (Hippie-Erweiterung, Etags, Yasnippets usw.) von Emacs aus. Ich schlage vor, mit den Emacs Starter Kit- Punktdateien zu beginnen.
Ein weiterer Grund, warum Steve Yegge behauptet, dass die weltbesten Programmierer Emacs verwenden, ist elisp. Mit Elisp kann der erfahrene Programmierer Emacs problemlos erweitern. Schreiben eine Erweiterung in Eclipse oder Visual Studio ist wesentlich härter als eine schnelle Funktion zu schreiben oder sogar eine neue Moll in elisp.
quelle
Ich glaube, es ist ein großes Missverständnis, dass die Verwendung dieser textbasierten Editoren wie VI und Emacs sehr geschätzt wird oder benötigt wird, um ein "großartiger Programmierer" zu werden. Ich hatte immer das Gefühl, dass IDEs leistungsfähiger sind als früher, und es kommt wirklich auf eine Vorliebe und einen Stil an.
quelle
Ich habe Emacs im College benutzt. das war vor ungefähr 16 Jahren. Ich habe nicht zurückgeschaut. Ich wünschte, ich könnte mich immer noch mit Emacs wohlfühlen, aber in Wahrheit bin ich mit meiner MS IDE ziemlich produktiv.
Der Text, den Sie gepostet haben, ist nur ein Troll. Ja. Kein anderer Grund dafür, als einen Religionskrieg zu beginnen.
quelle
Ich begann mit Emacs, wechselte aber zu vi, was für mich wegen seiner Einfachheit eleganter ist. Auch wenn Sie jemals im Einzelbenutzermodus stecken bleiben, sind ed-Befehle eine Teilmenge von vi-Befehlen. Ich weiß nicht, ob Emacs damit umgehen können.
In dieser Hinsicht denke ich, dass vi Sie zu einem besseren Programmierer macht.
quelle