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?

1voto

mjfgates Punkte 3291

Verwenden können algunos Mit einem anpassbaren Editor kann man tolle Sachen machen, aber insbesondere Emacs ist nicht unbedingt der Allerbeste. Ich selbst benutze SlickEdit und mache damit die gleichen seltsamen, halb-automatisierten Sachen, für die emacs berühmt ist. Ich habe Leute gesehen, die ähnliche Dinge mit vi und verschiedenen Windows-basierten Editoren machen.

Also, ja, Steckschlüsselsätze sind gut, aber zu behaupten, dass Craftsman den einzig wahren Steckschlüsselsatz herstellt, ist irgendwie dumm.

1voto

Justin Tanner Punkte 13747

Die Beherrschung der Emacs-Tastaturbelegung und der eingebauten Funktionen wird es Ihnen ermöglichen, Text schneller zu bearbeiten als mit IDEs wie Eclipse oder Visual Studio.

Verlassen Sie sich nicht auf mein Wort, sondern sehen Sie sich diese Videos von Profis verwenden Emacs .

Sobald Sie ein gutes Niveau in Emacs erreicht haben, können Sie jede Sprache effektiv bearbeiten: Java Script, Java, Ruby, Python, HTML, C, C++, usw.

Der Einstieg in Emacs ist mühsam, die Erfahrung mit der Standardversion ist mehr als schlecht. Die Standardkonfiguration von Emacs macht den Emacs-Neuling nicht mit den mächtigeren Funktionen (hippie-expand, etags, yasnippets, etc.) von Emacs vertraut. Ich schlage vor, mit dem Emacs-Starterkit Punkt-Dateien.

Ein weiterer Grund, warum Steve Yegge behauptet, dass die besten Programmierer der Welt Emacs benutzen, ist Elisp. Elisp erlaubt es dem erfahrenen Programmierer, die Macht einfach Emacs erweitern. Das Schreiben einer Erweiterung in Eclipse oder Visual Studio ist wesentlich schwieriger als das Schreiben einer schnellen Funktion oder sogar einer neuen Moll-Modus in elisp.

1voto

Ich glaube, es ist ein großer Irrglaube, dass die Verwendung dieser textbasierten Editoren wie VI und Emacs hoch angesehen sind oder benötigt werden, um ein "großer Programmierer" zu werden. Ich hatte immer das Gefühl, dass IDEs heute leistungsfähiger sind als früher, und es kommt wirklich auf die Vorlieben und den Stil an.

0voto

"Der Text, den Sie gepostet haben, ist nur ein Troll. Jepp. Es gibt keinen anderen Grund dafür, als einen Religionskrieg zu beginnen."

Ich stimme dem Zitat zu.

Jeder, der glaubt, dass der wahre Mehrwert eines Programmierers in dem Editor liegt, den er benutzt, ist ein Idiot.

Jeder, der glaubt, dass der wahre Wert eines wirklich wertvollen Programmierers gemindert werden kann, indem man ihm den falschen Editor gibt, ist ein Idiot.

(Ach ja, ich könnte hier eine Übung in formaler Logik einbauen - fügen Sie Wahrheitswerte hinzu, um diese Sätze mit der allgemeinen Logik in Einklang zu bringen :) FORALL Programmierer : gut(Programmierer) ===> verwendetEMACS(Programmierer) FORALL Programmierer : usesEMACS(Programmierer) ===> gut(Programmierer) (FORALL Programmierer : gut(Programmierer) ===> benutztEMACS(Programmierer)) ===> (FORALL Programmierer : benutztEMACS(Programmierer) ===> gut(Programmierer))

(Und was die Religionskriege angeht:) Alle wirklich wertvollen Programmierer sind mit ISPF aufgewachsen, nicht mit EMACS.

0voto

Pedro Rolo Punkte 25685

Nun ja... Für mich ist es eine Frage der Produktivität und des Vergnügens.

All die Dinge, die Sie erwähnt haben, wie Intelisense, integrierter Debugger usw., können zu Emacs hinzugefügt werden. Und sie können je nach Ihrem Geschmack hinzugefügt werden. Am Ende haben Sie eine Umgebung, die auf Ihre Bedürfnisse zugeschnitten ist. Das steigert die Produktivität, weil es Ihnen erlaubt, die Funktionen, die Sie am meisten benutzen, leichter verfügbar zu machen. Das steigert auch Ihre Freude, weil Sie Ihren Arbeitsprozess modifizieren können und dadurch ein besseres Bewusstsein für ihn bekommen, was letztendlich auch Ihre Produktivität steigert, weil Sie mehr Spaß an dem haben, was Sie tun.

Außerdem erhalten Sie eine Funktionalität, die in visuellen Tools nicht verfügbar ist: eine anständige Tastaturunterstützung. Es gibt keine einzige visuelle IDE, die ich ausprobiert habe, bei der die Tastaturunterstützung anständig wäre. Die Maus ist langsam in der Bedienung. Ich will eine Schnittstelle für Experten. Nicht "eine Schnittstelle für die Oma". Eine IDE soll eine Schnittstelle für Experten sein. Die Maus ist keine Expertenschnittstelle für Programmierer. Sie ist ein dekadentes und zeitaufwändiges Peripheriegerät, mit dem man mit einem Programm interagieren kann, das man zum ersten Mal sieht.

Ich denke, Sie sollten es noch einmal mit emacs versuchen... Ich habe einige Tipps für den Anfang:

Mit M-x können Sie Befehle in den Minipuffer eingeben

Nützliche Befehle:

  • apropos: listet alle Befehle auf die mit einer bestimmten Zeichenkette zusammenhängen
  • describe-function: beschreibt, was ein Befehl tut
  • where-is: ermittelt das Tastaturkürzel für einen bestimmten Befehl
  • global-set-key: verknüpft einen benutzerdefinierten Shortcut mit einem bestimmten Befehl

Nützliche Tastaturkürzel:

  • C-x b Wählt einen bestimmten Puffer aus
  • C-2 Teilt den Puffer horizontal
  • C-3 Teilt den Puffer vertikal
  • C-o Wählt andere Puffer aus, wenn sie geteilt sind
  • C-0 Ungeteilter Puffer
  • C- ist der Ort, an dem Sie Ihre benutzerdefinierten Tastenkombinationen definieren sollten.

Nützliche Add-ins: Unterstützung für ctags. Mit ihnen können Sie zu Funktions-/Klassendefinitionen springen.

  • ido-mode - bessere Vervollständigung im Minibuffer-Autocomplete-Modus
  • cua-mode - Windows-ähnliches Ausschneiden Kopieren Einfügen Rückgängig machen
  • pc-wahl-modus - umschalt-pfeil-auswahl

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