Vincent Foley over at Occasionally sane has an interesting post entitled Why I Still Use Emacs. Foley lists the usual suspects (extensibility, Org Mode, GUI or CLI operation, excellent built-in documentation, configurability, Tramp, and all the other reasons we love Emacs) for his decision to forgo IDEs, such as Eclipse, in favor of Emacs.
One of the things I have found throughout my career is that serious programmers pretty much stick to one of two (arguably three) editors: Emacs or Vi(m), and on OS X, TextMate. When I see an engineer using one of those editors I can be pretty sure that they know more than a single language, care about their tools and take the time to optimize their work flow around those tools, and care about speed and making development as frictionless as possible. When I see someone using notepad or a similar abomination, I can be pretty sure the above does not apply.
Are there exceptions? Of course but I think the generalization is a good one. Sure, the guy in the next cubicle uses Emacs to program in Basic and not very well at that and the polyglot wizard on your team turns out to prefer Nano for reasons that no one can understand but
serious_programmer == uses {Emacs | Vim | TextMate}
is a pretty good first order approximation.
Interestingly, the users of those 3 editors sometimes switch but almost always to another editor on the list. I’m guilty of that myself having been a Vim user for many many years and then switching to Emacs as I started to do mostly Lisp and Scheme programming. Others near and dear to me started with Emacs and switched to Vim. Likewise, I’m sure a lot of programmers switch to TextMate when they start using a Mac. I’ve never heard of anyone switching from Emacs to Notepad though.
Do I think using Emacs/Vim/TextMate makes you a better programmer? Possibly but the more likely explanation is that a craftsman picks the best tools available. Do I think everyone should use one of those editors? Frankly, it’s hard to see why they wouldn’t but choosing an editor is like choosing a mate and others had best stay out of the matter. I remember the feeling of horror I had when a manager from long ago suggested we settle on a standard editor. Happily I and some of the other senior engineers were able to explain the facts of life in time to prevent a mass exodus.
I’d be interested in hearing if my experience matches that of my readers. Do you find that most serious programmers use the Emacs/Vim/TextMate? Do you disagree with that observation for some reason other than hurt feelings? If so, leave a comment.