Steve Yegge wrote a comment on his blog:
All of the greatest engineers in the world use Emacs. The world-changer types. Not the great gal in the cube next to you. Not Fred, the amazing guy down the hall. I'm talking about the greatest software developers of our profession, the ones who changed the face of the industry. The James Goslings, the Donald Knuths, the Paul Grahams, the Jamie Zawinskis, the Eric Bensons. Real engineers use Emacs. You have to be way smart to use it well, and it makes you incredibly powerful if you can master it. Go look over Paul Nordstrom's shoulder while he works sometime, if you don't believe me. It's a real eye-opener for someone who's used Visual Blub .NET-like IDEs their whole career.
Emacs is the 100-year editor.
The last time I used a text editor for writing code was back when I was still writing HTML in Notepad about 1000 years ago. Since then, I've been more or less IDE dependent, having used Visual Studio, NetBeans, IntelliJ, Borland/Codegear Studio, and Eclipse for my entire career.
For what it's worth, I have tried Emacs, and my experience was a frustrating one because of its complete lack of out-of-the-box discoverable features. (Apparently there's an Emacs command for discovering other Emacs commands, which I couldn't find by the way -- it's like living your own cruel Zen-like joke.) I tried to make myself like the program for a good month, but eventually decided that I'd rather have drag-and-drop GUI designers, IntelliSense, and interactive debugging instead.
It's hard to separate fact from fanboyism, so I'm not willing to take Yegge's comments at face value just yet.
Is there a measurable difference in skill, productivity, or programming enjoyment between people who depend on IDEs and those who don't, or is it all just fanboyism?
I'd argue that the best programmers tend to be the ones that will take the time to customize their environment, making it faster/easier to perform the tasks that they are likely to do. Emacs is one of the most powerful editors when it comes to customizing your environment. It has a steep learning curve but, once you're past that, there's virtually no limit to what you can make it do for you.
Someone once said that the best programmers are the lazy ones; the ones that, once they need to do something more than once, find a way to automate it so that it takes less effort to do. Emacs allows you to be very, very lazy ;)
I don't think it would make you a better programmer, but when you have THAT level, you will most likely use emacs ( or vi )
: - /
The good thing about those two ( I have never used emacs before, but I still use vi for the most mundane task ) is the fact, they don't interrupt your train of thought, you don't have to take your hands out of the keyboard to grab the mouse, and hunt in the file menu for the correct option. You just, keep writing. Inside your mind you say something like: "Replace all the occurrences of this word for that", press enter and continue with your work.
Besides, I don't think they use emacs is their only tool.
Would it make you better programmer? Probably not. But when you have that level of expertise, probably you will like how fast can you code using those tools.
He (Steve Yegge) has elaborated on this, in bits in pieces, in other postings of his. http://steve-yegge.blogspot.com/2008_04_01_archive.html is probably the most comprehensive, but the info is buried in there since it's on a tangent to the main subject.
I guess to summarize: the programmers who are merely good or competent will pick up an IDE and get to know it really well, and maybe do decently enough in it, but they'll restrict themselves to what the IDE provides for them. In other words, they adapt themselves to the IDE. The great programmers, on the other hand, will adapt their environment to suit themselves, in such ways as writing scripts or their own tools, or extending their tools. And to that last point, not only Emacs is the most extensible environment there is, it is also the easiest environment to extend there is, and it is the environment where you reap the most benefit from extending it--your extensions integrate into Emacs like they are stock features, and so your future extensions may build upon your previous ones (positive-feedback-loop kind-of thing).
I started using Emacs about a year-and-a-half ago because it was the confluence of several wants -- wanted to work with regular expressions (in an editor that supported them), wanted to learn lisp, wanted a better editor.
Editing my code with regexes taught me a lot about finding patterns in the code. The keystrokes took a while to get used to, but I fly a lot faster without the mouse.
Emacs gave me the ability to keep work with my notes and coding in the same application -- minimal context switching means minimal brain-switching, and I can keep focused on the task at hand.
First let me say, I am a self professed true believer in the cult of Emacs.
That said, the blogger is nuts. You write in what you find useful. I find that Emacs helps me, mainly because I spent my college years pre-paying the start-up cost of learning how to modify it to suit my needs, and modifying myself to its needs.
But other people do things differently, and as they say "That's OK".
Personally, I feel that you should use whatever makes you more productive. If you don't have the time to invest in a project to sit and learn Emacs, then it's probably not the best use of your time at that point.
I do, however, feel that it is a good idea to get to know other IDE's when you have ample time to do so.I use Visual Studio in my day to day work, but at home I use Eclipse for small projects and have used Emacs as well. At the particular point where I considered using Emacs, my effort was better served getting actual work done than slowing myself down wrestling with Emacs.
I think to a certain extent it's absurd to think that all of the best programmers use Emacs. There are many amazing programmers who aren't as popular (or as vocal, perhaps) that don't use Emacs.