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?

7voto

Sam Stokes Punkte 14381

IMHO neigen IDEs dazu, für eine bestimmte Plattform, Sprache oder ein bestimmtes Betriebssystem optimiert zu sein: Eclipse JDT ist großartig für Java, Visual Studio ist C++/.NET-zentriert, usw. Sie helfen der Produktivität sehr (wiederum IMHO), wenn man nur auf dieser Plattform arbeitet, aber wenn man die Plattform wechselt, muss man im Grunde eine neue IDE lernen (oder zumindest einen neuen Satz von Plugins, Ansichten, Perspektiven und ich weiß nicht, was noch für Eclipse).

Der Vorteil der Kenntnis von emacs, Textmate, vim (meine persönliche Vorliebe) oder einer anderen generisch Redakteur ist, dass die Fähigkeiten, die man in diesem Redakteur erwirbt, unabhängig davon gelten, für welche Plattform man schreibt. Sie sind optimiert für Text bearbeiten Wenn Sie diese beherrschen, können Sie Texte in jeder Sprache sehr effizient bearbeiten.

Außerdem behauptet Yegge, dass große Programmierer ihre Werkzeuge an ihren Arbeitsstil anpassen und nicht umgekehrt. Ich denke, das ist ein Gewinn für generische Editoren, denn man passt sie an eine Editor, anstatt vier verschiedene IDEs so anpassen zu müssen, dass sie sich alle wie gewünscht verhalten.

6voto

RHSeeger Punkte 15604

Ich würde behaupten, dass die besten Programmierer diejenigen sind, die sich die Zeit nehmen, ihre Umgebung anzupassen, damit sie die Aufgaben, die sie wahrscheinlich erledigen werden, schneller/einfacher erledigen können. Emacs ist einer der leistungsfähigsten Editoren, wenn es darum geht, die eigene Umgebung anzupassen. Er hat eine steile Lernkurve, aber wenn man diese überwunden hat, gibt es praktisch keine Grenzen mehr, was man mit ihm machen kann.

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 es Ihnen, sehr, sehr faul zu sein ;)

4voto

Konrad Rudolph Punkte 503837

Ich habe IDEs von Anfang an benutzt (ich habe wohl mit QBASIC angefangen), und das viele, viele Jahre lang. Ich bin jetzt fast vollständig auf VIM (in verschiedenen Varianten) für meine gesamte Entwicklungsarbeit umgestiegen und ich bereue es nicht. Meine Produktivität hat sich definitiv erhöht.

Natürlich wird nichts den Windows Forms Designer von Visual Studio ersetzen. Aber im Vergleich zu VIM (und Emacs, da bin ich mir sicher) ist der Texteditor in Visual Studio wirklich lausig. Sobald Sie die rohe Kraft der Konsole und der GNU-Entwicklerwerkzeuge nutzen (womit ich meine make , GCC, binutils y gdb Sie werden feststellen, dass diese Tools zwar primitiv aussehen, aber genau das Gegenteil sind und eigentlich alle Tools bieten, die eine IDE bietet (mit Ausnahme des Formular-Designers).

Es ist nur so, dass man einen sehr steilen Aufstieg vor sich hat, wenn man anfängt, diese Instrumente zu nutzen, und der Anreiz ist vielleicht gering. Ich hatte das Glück (?), dass ich gezwungen war, diese Werkzeuge zu benutzen, so dass ich keine Wahl hatte, aus der ich mich herauswinden konnte.

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

Anton Punkte 11995

Für mich ist der Hauptgrund, warum ich Emacs einer IDE vorziehen würde, der, dass ich damit alles nur über die Tastatur machen kann. Das ist insofern gut, als es mir etwas Zeit spart, wenn ich normalerweise eine Maus verwenden würde. Da ich sehr mobil bin, neige ich außerdem dazu, meinen "Groove" beim Programmieren zu unterbrechen, weil ich mein langsames Touchpad benutze. Außerdem ist sie durch ihre Anpassungsmöglichkeiten für mich besser als andere IDEs. Wenn Sie jedoch mit einer IDE schnell genug programmieren können, würde ich sagen, dass die Lernkurve von Emacs die Mühe nicht wert ist.

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