129 Stimmen

Wird Emacs mich zu einem besseren Programmierer machen?

Steve Yegge schrieb ein Kommentar in seinem Blog :

Alle großen Ingenieure der Welt Welt benutzen Emacs. Der Weltveränderer Typen. Nicht das tolle Mädchen im Würfel neben dir. Nicht Fred, der tolle Typ am Ende des Flurs. Ich spreche von dem größten Softwareentwickler unserer Branche Berufes, die das Gesicht der Branche Gesicht der Branche verändert haben. Die James Goslings, die Donald Knuths, die Paul Grahams, die Jamie Zawinskis, die Eric Bensons. Echte Ingenieure benutzen Emacs. Man muss sehr klug sein, um ihn gut zu benutzen um ihn gut zu benutzen, und er macht dich unglaublich mächtig, wenn man ihn beherrscht. Schauen Sie sich über Paul Nordstroms Schulter, während während er arbeitet, wenn Sie mir glauben Sie mir. Es ist ein echter Augenöffner für jemandem, der mit Visual Blub NET-ähnliche IDEs ihr ganzes Berufsleben lang benutzt hat.

Emacs ist der 100-Jahre-Editor.

Das letzte Mal, dass ich einen Texteditor zum Schreiben von Code verwendet habe, war vor etwa 1000 Jahren, als ich noch HTML in Notepad geschrieben habe. Seitdem bin ich mehr oder weniger IDE-abhängig und habe in meiner gesamten Laufbahn Visual Studio, NetBeans, IntelliJ, Borland/Codegear Studio und Eclipse verwendet.

Wenn Sie mich fragen, ich haben Ich habe Emacs ausprobiert, und meine Erfahrung war frustrierend, weil es keine Funktionen gibt, die man direkt nach dem Auspacken entdecken kann. (Anscheinend gibt es einen Emacs-Befehl, um andere Emacs-Befehle zu entdecken, den ich übrigens nicht finden konnte - es ist, als würde man seinen eigenen grausamen Zen-Witz leben.) Ich habe einen guten Monat lang versucht, mich mit dem Programm anzufreunden, aber schließlich habe ich beschlossen, dass ich stattdessen lieber Drag-and-Drop-GUI-Designer, IntelliSense und interaktives Debugging haben möchte.

Es ist schwer, Fakten von Fanboyismus zu unterscheiden, daher bin ich noch nicht bereit, Yegges Kommentare für bare Münze zu nehmen.

Gibt es einen messbaren Unterschied in den Fähigkeiten, der Produktivität oder der Freude am Programmieren zwischen Leuten, die auf IDEs angewiesen sind und solchen, die es nicht sind, oder ist das alles nur Fanboyismus?

0voto

Babu Srinivasan Punkte 2249

Offenlegung: Ich benutze die meiste Zeit emacs.

Ich glaube nicht, dass man sich zwangsläufig zwischen der Verwendung von Emacs oder IDE entscheiden muss. Sie können 'emacs' in Ihrer IDE haben. Mit emacs kann man sehr produktiv sein, sobald man sich die Tastenkombinationen eingeprägt hat, und man wird sich mit jedem anderen Editor machtlos fühlen. Aber wenn viele --- leider nicht alle --- der emacs-Tastaturbelegungen in Ihrer IDE verfügbar sind, dann wird sich Ihre Produktivität deutlich verbessern und Sie haben nicht das Gefühl, dass die Zeit, die Sie mit dem Erlernen des emacs verbracht haben, verschwendet war.

Ich habe das Emacs-Plugin für Eclipse ausprobiert und fand es recht brauchbar. Natürlich ist es nicht perfekt. Aber man erhält alle Vorteile einer IDE wie Code-Vervollständigung, Refactoring usw. Ich hoffe, dass dieses Plugin verbessert wird, um mehr Emacs-Funktionalität zu bieten.

Was den emacs betrifft, so hat er leider nicht mit der Zeit Schritt gehalten, und ein Programmierer wird viel verpassen, wenn er bei ihm bleibt.

Wenn Sie jedoch in Scala programmieren und ein Emacs-Liebhaber sind, haben Sie Glück, denn Sie können die ensime Paket für emacs und erhalten Sie die meisten IDE-Funktionen --- Hervorhebung von Syntaxfehlern, Code-Vervollständigung, Durchsuchen von Paketen, Typüberprüfung, Refactoring, Debugging usw.

0voto

Johan Punkte 19027

Nein

Wir alle gehen unterschiedliche Wege im Leben, wir betrachten Probleme aus unterschiedlichen Blickwinkeln.

Um ein großartiger Programmierer zu sein, kann der Editor einem nicht helfen, besser zu werden, andere Dinge machen Ihre Programmierfähigkeiten besser. Aber bitte beachten Sie, dass die falschen Werkzeuge, die Ihnen nicht helfen, Ihre eigene Entwicklung als Programmierer sogar behindern können.

Oder nehmen wir das Beispiel eines Zimmermanns, ein großer Hammer kann einen großen Zimmermann nicht besser machen, aber ein schlechter Hammer kann ihn davon abhalten, sein Bestes zu geben.

/Johannes

0voto

Der Vergleich zwischen Vi und Emacs klingt wie der Vergleich von GNOME und KDE mit mich. Vi (und seine Dialekte/Implementierungen) sind ein einfacher, schnörkelloser, leicht zu beherrschender, skriptfähiger, erweiterbarer und so gut wie universell verfügbarer (auf allen Unixen) Editor. Emacs hingegen geht IMO einen härteren Weg, um die gleichen Dinge zu tun. Es braucht Zeit, ihn zu beherrschen, aber ich denke, da DIE großen Programmierer ihn benutzt haben, fühle ich mich auch gut, nachdem ich ihn beherrsche :-)

Aber um die Arbeit zu erledigen, wenn ich textbasierte Editoren habe, ist Vi definitiv ein einfacher Einstieg. Vielleicht motiviert Emacs Sie letztlich dazu, Lisp zu lernen, was wird definitiv die Art und Weise, wie Sie programmieren, verändern. Das ist ein indirekter Effekt, IMO.

0voto

Bartosz Radaczyński Punkte 18134

Ich würde sagen, dass er zumindest teilweise Recht hat. Wie andere bemerkt haben, sind die Editoren in IDEs im Vergleich zu vim oder emacs ziemlich eingeschränkt. Gleichzeitig sind sowohl vim als auch emacs verfügbar, wenn es keine Möglichkeit gibt, eine vollwertige IDE zu benutzen (z.B. über ssh-Sitzungen). Und eine weitere Sache ist, dass man nicht nach der Maus greifen muss. Das ist wirklich ein Killer-Feature - man kann Dinge einfach mindestens doppelt so schnell erledigen. Sie werden jedoch nicht davon profitieren, es sei denn, Sie sind zumindest ein anständiger Tipper (was übrigens ein weiterer Punkt ist, den Yegge in seinem Blog deutlich macht: Sie müssen gut tippen können).

0voto

klyde Punkte 205

Ich habe mit emacs angefangen, bin dann aber zu vi gewechselt, das ich wegen seiner Einfachheit für eleganter halte. Außerdem sind die ed-Befehle eine Untermenge der vi-Befehle, falls Sie einmal im Einzelbenutzermodus festsitzen sollten. Ich weiß nicht, ob emacs damit umgehen kann.

In dieser Hinsicht glaube ich, dass vi einen zu einem besseren Programmierer macht.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X