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?

3voto

jamesmillerio Punkte 3074

Ich persönlich bin der Meinung, dass Sie das verwenden sollten, was Sie produktiver macht. Wenn Sie nicht die Zeit haben, in ein Projekt zu investieren, um Emacs zu lernen, dann ist es wahrscheinlich nicht die beste Verwendung Ihrer Zeit zu diesem Zeitpunkt.

Ich bin jedoch der Meinung, dass es eine gute Idee ist, andere IDEs kennenzulernen, wenn man genügend Zeit dafür hat. Ich benutze Visual Studio bei meiner täglichen Arbeit, aber zu Hause verwende ich Eclipse für kleine Projekte und habe auch Emacs benutzt. An dem Punkt, an dem ich den Einsatz von Emacs in Erwägung zog, war meine Mühe besser damit getan, die eigentliche Arbeit zu erledigen, als mich mit Emacs herumzuschlagen.

Ich denke, dass es bis zu einem gewissen Grad absurd ist, zu glauben, dass die besten Programmierer alle Emacs benutzen. Es gibt viele großartige Programmierer, die nicht so bekannt sind (oder vielleicht nicht so lautstark), die Emacs nicht benutzen.

3voto

Overflown Punkte 1830

Nein. Guter Code macht Sie zu einem besseren Programmierer.

Eine gute Textverarbeitung ist jedoch der Schlüssel zur Effizienz. Entweder vim oder emacs werden die Art und Weise, wie Sie mit Text arbeiten, verändern - beide haben sich als effektiv erwiesen, stehen aber in Bezug auf den Stil fast im Widerspruch zueinander. Außerdem ist diese Debatte ziemlich alt (zurück in die 80er und 90er Jahre, wo Text -> Compiler der Schlüssel war), so dass es viele andere Texteditoren und/oder IDEs gibt, die Ihnen helfen können, der beste Programmierer zu sein, der Sie sein können.

3voto

Michael Paulukonis Punkte 8760

Ich habe vor etwa anderthalb Jahren angefangen, Emacs zu benutzen, weil es das Zusammentreffen mehrerer Wünsche war - ich wollte mit regulären Ausdrücken arbeiten (in einem Editor, der sie unterstützte), ich wollte Lisp lernen, ich wollte einen besseren Editor.

Bei der Bearbeitung meines Codes mit Regexen habe ich viel über die Suche nach 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 der Programmierung in derselben Anwendung zu arbeiten - minimaler Kontextwechsel bedeutet minimales Umschalten des Gehirns, und ich kann mich auf die anstehende Aufgabe konzentrieren.

2voto

Justin Abrahms Punkte 1279

Ich denke, Emacs kann Sie zu einem besseren Programmierer machen, wenn auch nur indirekt. Ich glaube, Emacs hat mich dazu gebracht, tatsächlich in einer funktionalen Sprache zu schreiben ( Elisp ), was mein Interesse an anderen funktionalen Sprachen geweckt hat ( Clojure ), was mich angeblich zu einem besseren Programmierer machen wird. Ich denke, das wird sich mit der Zeit zeigen.

2voto

Rob Punkte 47351

Nein.

Disziplin, kritisches Denken und der Wunsch, sich selbst zu verbessern, werden Sie zu einem besseren Programmierer machen. Ihr Werkzeugsatz ist zwar ein wichtiger Faktor für Ihre Produktivität, macht Sie aber nicht zum Genie.

Wenn Sie emacs oder vi nicht mögen, sollten Sie sie nicht benutzen. Indem Sie sich bewusst dagegen entscheiden, gestalten Sie Ihre Entwicklungsumgebung so, dass sie Ihren eigenen Bedürfnissen und Arbeitsweisen entspricht. In jedem Fall haben Sie das Recht, das zu benutzen, was Sie mögen - und ignorieren Sie jeden, der dumm genug ist, Sie für das Werkzeug zu beschimpfen, das Sie benutzen, um Bits auf die Festplatte zu schreiben - es sind die Bits, die zählen.

Anmerkung: "Werkzeugsatz" bedeutet hier wörtlich die "Marke" von Werkzeugen - bestimmte Editoren, Compiler usw. Konzeptuelle Toolsets, z.B. die Verwendung von Versionskontrolle, Unit-Tests - alles im Allgemeinen - sind Teil des Selbstverbesserungsprozesses.

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