10 x produktiver ? Unwahrscheinlich. Ich denke eher, dass die multiplikativen Faktoren eher 1,1 entsprechen, was sich nach einer Weile summiert.
Worüber Steve Yegge spricht, ist wirklich eine Reflexion darüber, ein Experte für Emacs zu sein, und diese sind sehr selten. Menschen, die diesen multiplikativen Effekt erzielen, passen ihre Emacs-Erfahrung aktiv an, indem sie elisp schreiben, um den Emacs an ihre spezifischen Bedürfnisse anzupassen. Zum Beispiel schrieb Yegge Ejaks . Wenn Sie das Yegge-Zitat interpretieren, müssen Sie Emacs unbedingt anpassen, um die Anpassung / Erweiterung von Emacs zu vereinfachen.
Im Folgenden werden die verschiedenen Kompetenzstufen für Emacs beschrieben:
- Ein Anfänger kann Emacs ausführen, den Cursor bewegen, einige Änderungen vornehmen und Emacs beenden.
- Ein fortgeschrittener Anfänger kann einige grundlegende Anpassungen vornehmen
.emacs
oder hat Teile anderer Leute vollständig in die eigenen kopiert .emacs
. Sie wissen, wie man globale Tastenzuordnungen erstellt, require
Pakete einbaut und Nebenmodi aktiviert.
- Kompetente Emacs-Benutzer haben große
.emacs
Dateien, die möglicherweise in mehrere Dateien aufgeteilt sind. Sie laden nicht-standardmäßige Pakete herunter und verwenden sie, wissen, wie man Dokumentation für Befehle und Modi findet, sehen sich die vorhandenen Tastenkombinationen an und sind mit den Unterschieden zwischen Neben- und Hauptmodi vertraut. Kompetente Benutzer lassen im Allgemeinen eine einzelne Emacs-Instanz tagelang / wochenlang laufen und schreiben, kompilieren, führen und debuggen Programme von ihrem Emacs aus.
- Erfahrene Benutzer können problemlos Emacs Lisp schreiben, eigene interaktive Befehle erstellen und kleinere Modi schreiben. Erfahrene Benutzer sehen sich den Emacs-Lisp-Code an, um ein besseres Verständnis der von ihnen verwendeten Modi zu erlangen, den Elisp-Debugger zu verwenden und häufig minderwertige Prozesse (Shells, Lisp-Prozesse, ...) zu verwenden.
- Erfahrene Emacs-Benutzer schreiben neue Hauptmodi von Grund auf neu, sehen und modifizieren den C-Code für Emacs, wissen, was rekursive Bearbeitung ist, und verwenden ihn. Verwenden Sie die prozessübergreifende Kommunikation, um Emacs in externe Tools zu integrieren. Sie lesen auch die Mailingliste von emacs-devel .
Und da Sie nach persönlicher Erfahrung fragen, finden Sie hier Beispiele meiner persönlichen Aktivitäten, die das Gefühl vermitteln, produktiver zu sein. Hinweis: Ich arbeite zufällig in einem Unternehmen, in dem wir noch lange nicht auf dem neuesten Stand der Entwicklungsumgebungen sind. Beispielsweise verwenden wir immer noch CVS.
- Ich habe Emacs in das Bug-Tracking-Tool integriert: Wenn ich Commits vornehme, protokolliert es den Dateinamen und die Version in den Feldern für den Bug. In Emacs kann ich meine Bugs anzeigen, zuweisen, beheben usw.
- Ich habe eine Brücke zwischen meinem Produkt (Tagesgeschäft) und Emacs geschrieben, die mein Produkt zu einem minderwertigen Prozess macht und es mir ermöglicht, Änderungen am Quellcode im laufenden Betrieb vorzunehmen.
- Ich habe das TAGS-Handling um Find-File-In-Tags erweitert, die eine Reihe von Verknüpfungen bieten, die zu meiner Entwicklungsumgebung passen.
- Ich habe einen Modus geschrieben, der Regressionsergebnisse erfasst und es mir ermöglicht, mit minimalem Tastendruck zu Fehlern zu springen, Protokolldateien zu untersuchen, einen oder mehrere Tests erneut auszuführen oder einen Debug-Lauf zu starten.
- Mein wöchentlicher Statusbericht (ja, ich benutze Emacs für E-Mails) wird automatisch generiert, indem ich die Commits verwende, die ich in der Woche gemacht habe.
Das sind Änderungen, die ich vorgenommen habe, um Emacs speziell an meine Umgebung und meinen Workflow anzupassen.
Bin ich 10-mal produktiver als andere in meiner Umgebung? Nein.
Für meine tägliche Arbeit gibt es jedoch viele Aufgaben, die ich mit ein paar Tastenanschlägen erledigen kann, die andere viel länger in ihrer nicht angepassten Umgebung erledigen müssen, und die im Allgemeinen erfordern, dass sie zwischen ihrem Editor und einem Webbrowser oder einer Shell wechseln .
Sind sie erstaunliche Beispiele? Nein. Ich bin sicher, dass vieles von dem, was ich getan habe, bereits in Visual Studio verfügbar ist . Wirst du mit meinem Artikel wieder zur Kirche von Emacs zurückkehren? Wahrscheinlich nicht.
Wenn Sie jedoch ein Verhaltensmuster in Ihrer Entwicklungsumgebung feststellen und es juckt, dass Sie sagen: "Ich sollte X / Y / Z wirklich nicht immer wieder machen müssen, wenn ich nur könnte ...", dann Ich empfehle, Emacs zu verwenden, um diesen Juckreiz zu kratzen. Dieser Kratzer könnte der erste Schritt sein, über den Steve Yegge spricht.
Kleinere Anmerkung: Ich weiß nicht, dass viele (irgendwelche?) Wirklich erfahrene Emacs-Benutzer die Stapelüberlauf-Sites aktiv nutzen oder zumindest keine Emacs-bezogenen Fragen beantworten. Ich sage, dass auf der Grundlage der Top-Benutzer für die Emacs und Elisp- Tags auf Stapelüberlauf.