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?

2voto

Bob Cross Punkte 22071

Eine der großartigen Eigenschaften von emacs ist, dass er mit so ziemlich jedem Dateityp umgehen kann, den man ihm hinwirft, egal welcher Größe. Zugegeben, wenn Sie eine verrückte, riesige verschlüsselte Datei öffnen, ist das nicht unbedingt nützlich, aber es lässt sich öffnen. Die meisten Editoren (und IDEs) werden Ihnen große Probleme bereiten, wenn Sie ihnen eine Datei übergeben, die zu groß ist und/oder nicht zu den von ihnen erwarteten Formaten gehört.

Öffnen Sie zum Beispiel eine 1-Gigabyte-Datei in Notepad.

Ich habe um 1980 herum angefangen, Emacs zu benutzen, und es war immer ein Werkzeug in meinem Werkzeugkasten. Es ist nicht das ばかり Aber es ist immer etwas, auf das ich zurückgreifen kann und bei dem ich weiß, dass ich etwas Nützliches tun kann.

Obligatorischer aufrührerischer Kommentar : Andererseits habe ich nichts Gutes über vi zu sagen. Ich hatte immer das Gefühl, dass vi mich gerne umbringen und meine Organe verkaufen würde, nur aus Trotz....

Im wirklichen Leben benutze ich Netbeans für fast alle Formen der Entwicklung und ich benutze emacs hin und wieder, um eine schnelle Bearbeitung vorzunehmen. Es gibt fast nichts, was so praktisch ist wie emacs (für mich), wenn es darum geht, etwas Verrücktes sofort zu erledigen.

Hat schon mal jemand statische Zeichenfolgen in kompilierten Binärdateien bearbeiten müssen? Gibt es dafür ein besseres Werkzeug als Emacs? Für mich funktioniert es jedenfalls.

2voto

Steve Punkte 3803

Emacs hat mich mehr effizient bei der Textmanipulation und der Navigation im Dateisystem. Und da diese beiden Dinge beim Programmieren eine Rolle spielen, bin ich dadurch ein effizienterer (und damit besserer) Programmierer geworden.

2voto

GeoffreyF67 Punkte 10671

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?

Ich glaube nicht, dass Sie darauf wirklich eine Antwort bekommen können. Es gibt so viele verschiedene Möglichkeiten, Fähigkeiten, Produktivität und Spaß am Programmieren zu messen - und alle sind wahrscheinlich sehr subjektiv und/oder können nicht auf eine einzige Ursache heruntergebrochen werden oder nicht.

Es ist trotzdem eine interessante Frage.

Meine persönliche Meinung ist - es hängt vom Programmierer ab :)

G-Man

2voto

Tom Dunham Punkte 5611

Ich weiß, dass Sie nicht danach gefragt haben, aber eine Sache, die das Erlernen von Emacs (unerwartet) für mich verbessert hat, war die Handhabung einer Befehlszeile. Bevor ich die Emacs-Tastaturbelegung lernte, bewegte ich den Cursor und navigierte mit den Cursortasten durch den Verlauf, weil ich es nicht besser wusste. Es war wie eine Glühbirne, als ich merkte, dass ich mit backward-word , move-beginning-of-line y backward-kill-word (an die ich mich immer gebunden habe C-w , wie Stevey vorschlägt ) in bash ( M-t ist auch oft nützlich und für diejenigen, die es noch nie gesehen haben, sehr beeindruckend).

Ich arbeite viel auf Solaris, wo die Root-Shell "die Posix-Shell" ist und standardmäßig keine Emacs-Bindungen hat. Ich stelle fest, dass meine Finger jetzt exec bash Jedes Mal, wenn ich mich einlogge, fühle ich mich so viel schneller, wenn ich die vertrauten Bearbeitungsbefehle unter meinen Fingern habe.

Ich muss allerdings zugeben, dass ich Knuths Bücher immer noch anstrengend finde (auch wenn es sich lohnt) - ich glaube also nicht, dass sich meine Programmierkenntnisse dadurch auf magische Weise verbessert haben.

2voto

OscarRyz Punkte 189898
Ich glaube nicht, dass man dadurch ein besserer Programmierer wird, aber wenn man DIESES Niveau erreicht hat, wird man höchstwahrscheinlich emacs (oder vi) benutzen.
  • /

Das Gute an diesen beiden (ich habe noch nie emacs benutzt, aber ich benutze immer noch vi für die alltäglichsten Aufgaben) ist die Tatsache, dass sie Ihre Arbeit nicht unterbrechen. Gedankengang So müssen Sie nicht mehr die Hände von der Tastatur nehmen, um die Maus zu bedienen und im Dateimenü nach der richtigen Option zu suchen. Du schreibst einfach weiter. In Ihrem Kopf sagen Sie etwas wie: "Ersetze alle Vorkommen dieses Wortes durch jenes", drücke die Eingabetaste und fahre mit deiner Arbeit fort.

Außerdem glaube ich nicht, dass sie emacs als einziges Werkzeug benutzen.

Würden Sie dadurch ein besserer Programmierer werden? Wahrscheinlich nicht. Aber wenn Sie über das nötige Fachwissen verfügen, wird es Ihnen wahrscheinlich gefallen, wie schnell Sie mit diesen Werkzeugen programmieren können.

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