10 X bardziej produktywny ? Raczej nie. Myślę, że mnożniki są bardziej podobne do 1.1, co po pewnym czasie się sumuje.
To, o czym mówi Steve Yegge, jest refleksją na temat bycia ekspertem od Emacsa, a te są bardzo rzadkie. Ludzie, którzy osiągają ten multiplikatywny efekt, aktywnie dostosowują swoje doświadczenia Emacsa, pisząc elisp, aby dostosować Emacsa do swoich konkretnych potrzeb. Na przykład Yegge napisał ejacs . Interpretacja cytatu Yegge oznacza, że dostosowujesz Emacsa, aby ułatwić dostosowanie / rozszerzenie Emacsa.
Oto, w jaki sposób podzieliłem różne poziomy wiedzy specjalistycznej dotyczące Emacsa:
- Początkujący wie jak uruchomić Emacs, przesuwać kursor, wprowadzić pewne zmiany, wyjścia Emacs.
- Początkujący zaawansowany wie jak umieścić kilka podstawowych dostosowań w ich
.emacs
lub całkowicie skopiowane fragmenty cudzych .emacs
do nich. Wiedzą, jak tworzyć globalne powiązania klawiszy, require
wbudowane pakiety, włączać pomniejsze tryby.
- Kompetentni użytkownicy Emacsa mają duże
.emacs
pliki, prawdopodobnie podzielone na wiele plików. Pobierają i używają niestandardowych pakietów, wiedzą, jak znaleźć dokumentację poleceń, trybów, przeglądają istniejące powiązania klawiszy, znają różnice między trybami mniejszymi i większymi. Kompetentni użytkownicy zazwyczaj utrzymują jedną instancję Emacsa działającą przez kilka dni / tygodni, pisząc, kompilując, uruchamiając i debugując programy z Emacsa.
- Biegli użytkownicy są wygodni w pisaniu emacs lisp, tworząc własne interaktywne polecenia, i swobodnie piszą mniejsze tryby. Biegli użytkownicy patrzą na kod emacs lisp, aby lepiej zrozumieć tryby, z których korzystają, używają debugera elisp i często używają gorszych procesów (powłoki, procesy lisp, ...).
- Użytkownicy Expert Emacs piszą nowe główne tryby od zera, szukają i modyfikują kod C dla Emacsa, wiedzą, czym jest edycja rekurencyjna i używają jej, używają komunikacji między procesami w celu zintegrowania Emacsa z narzędziami zewnętrznymi. Przeczytali również listę mailingową emacs-devel .
A ponieważ prosisz o osobiste doświadczenie, oto przykłady tego, co osobiście zrobiłem, dzięki czemu czuję, że jestem bardziej produktywny. Uwaga: Zdarza się, że pracuję w firmie, w której nie jesteśmy blisko najnowocześniejszych środowisk programistycznych, na przykład nadal używamy CVS.
- Zintegrowałem Emacsa z narzędziem do śledzenia błędów: kiedy dokonuję zatwierdzeń, loguje nazwę pliku i wersję w polach błędu, a z Emacsa mogę przeglądać moje błędy, przypisywać je, usuwać itp.
- Napisałem pomost łączący mój produkt (dzienną pracę) z Emacsem, skutecznie czyniąc mój produkt gorszym procesem - umożliwiając mi dokonywanie zmian w kodzie źródłowym na bieżąco.
- Rozszerzyłem obsługę TAGS o find-file-in-tags, który zapewnia szereg skrótów, które pasują do mojego środowiska programistycznego.
- Napisałem tryb, który pobiera wyniki regresji i pozwala mi przeskakiwać do awarii, sprawdzać pliki dziennika, ponownie uruchamiać jeden lub więcej testów lub wchodzić w debugowanie przy minimalnym naciśnięciu klawisza.
- Mój cotygodniowy raport o stanie (tak, używam Emacsa do poczty e-mail) jest generowany automatycznie przy użyciu zatwierdzeń dokonanych przez cały tydzień.
Są to zmiany, które wprowadziłem, aby dostosować Emacsa do mojego środowiska i przepływu pracy.
Czy jestem 10 razy bardziej wydajny niż inni wokół mnie? Nie.
Jednak w mojej codziennej pracy jest wiele zadań, które mogę wykonać kilkoma naciśnięciami klawiszy, które inni spędzają znacznie dłużej w swoim niestandardowym środowisku i które zazwyczaj wymagają przełączania między edytorem a przeglądarką internetową lub powłoką .
Czy są to zdumiewające przykłady? Nie. Jestem pewien, że wiele z tego, co zrobiłem, jest już dostępnych w Visual Studio . Czy mój artykuł skieruje cię z powrotem do Kościoła Emacsa? Prawdopodobnie nie.
Jeśli jednak widzisz wzór zachowania w swoim środowisku programistycznym i odczuwasz swędzenie, które mówi: „Naprawdę nie powinienem musiałem robić X / Y / Z w kółko, gdybym tylko mógł ...” Polecam spróbować użyć Emacsa do podrapania tego świądu. Ta rysa może być pierwszym krokiem w dół tej „samowzmacniającej” ścieżki, o której mówi Steve Yegge.
Drobna uwaga: nie wiem, czy wielu (w ogóle?) Naprawdę doświadczonych użytkowników Emacsa aktywnie korzysta z witryn z przepełnieniem stosu, a przynajmniej nie odpowiada na pytania związane z Emacsem. Mówię to na podstawie najlepszych użytkowników tagów emacs i elisp w przypadku przepełnienia stosu.