10 X more productive? Not likely. I tend to think the multiplicative factors are more like 1.1, which does add up after a while.
What Steve Yegge is talking about is really a reflection on being an expert in Emacs, and those are very rare. People who are achieving this multiplicative effect are actively customizing their Emacs experience by writing elisp to tailor Emacs to suit their specific needs. For example, Yegge wrote ejacs. Interpreting the Yegge quote strictly implies you're customizing Emacs to make it easier to customize/extend Emacs.
Here's how I'd break down the various levels of expertise as they apply to Emacs:
- A novice knows how to run Emacs, move the cursor around, make some edits, exit Emacs.
- An advanced beginner knows how to put some basic customizations in their
.emacs
, or has completely copied chunks of other people's .emacs
into theirs. They know how to make global key bindings, require
built-in packages, enable minor modes.
- Competent Emacs users have large
.emacs
files, possibly split into multiple files. They download and use non-standard packages, know how to find documentation for commands, modes, view the existing key-bindings, are comfortable with the differences between minor-modes and major-modes. Competent users generally keep a single instance of Emacs running for days/weeks, writing, compiling, running and debugging programs from their Emacs.
- Proficient users are comfortable writing emacs lisp, creating their own interactive commands, and are comfortable writing minor modes. Proficient users look at the emacs lisp code to gain better understanding of the modes they're using, use the elisp debugger, and commonly use inferior processes (shells, lisp processes, ...).
- Expert Emacs users write new major modes from scratch, look and modify the C code for Emacs, know what recursive editing is and use it, use inter-process communication to integrate Emacs with external tools. They also read the emacs-devel mailing list.
And since you're asking for personal experience, here are examples of what I've personally done that make it feel like I'm more productive. Note: I happen to work in a company where we're nowhere near the bleeding edge of development environments, for example, we still use CVS.
- I integrated Emacs with the bug tracking tool: when I make commits, it logs the filename and version in the fields for the bug, and from Emacs I can view my bugs, assign them, resolve them, etc.
- I wrote a bridge connecting my product (day job) and Emacs, effectively making my product an inferior process - enabling me to make changes to source code on the fly.
- I extended TAGS handling with find-file-in-tags which provides a number of shortcuts that suit my development environment.
- I wrote a mode which takes regression results and enables me to jump to failures, examine log files, re-run one or more tests, or enter a debug run, with minimal keystrokes.
- My weekly status report (yes, I use Emacs for email) is auto-generated using the commits I've made throughout the week.
Those are changes I've made to specifically tailor Emacs to my environment and my workflow.
Am I 10X more productive than others around me? No.
However, for my daily work, there are many tasks that I can do with a couple of keystrokes that others spend much longer doing in their non-customized environment, and which generally requires them to switch between their editor and a web browser or a shell.
Are they astounding examples? No. I'm sure that much of what I've done is already available in Visual Studio. Will my article turn you back to the Church of Emacs? Probably not.
However, if you see a pattern of behavior in your development environment, and you have that itch that's telling you, "I really shouldn't have to do X/Y/Z over and over, if I could only..." then I recommend trying to use Emacs to scratch that itch. That scratch could be the first step down that "self-reinforcing" path that Steve Yegge is talking about.
Minor note: I don't know that many (any?) truly expert Emacs users are actively using the stack overflow sites, or, at least, they're not answering Emacs related questions. I say that based on the top users for the emacs and elisp tags on stack overflow.