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 think Emacs can make you a better programmer, albeit indirectly. I think Emacs got me to actually write in a functional language (Elisp) which has me interested in other functional languages (Clojure) which I'm told will make me a better programmer. That said, I suppose time will tell.
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 don't think you could really get an answer to that. There are so many different ways to measure skill, productivity and programming enjoyment - and all of them are probably very subjective and/or can't be broken down into ONE thing causing it or not.
It's still an interesting question tho.
My personal belief is - it depends on the programmer :)
G-Man
One of the great features of emacs is that it can handle pretty much any file type you throw at it, of any size. Admittedly, if you're opening a crazy huge encrypted file, it won't necessarily be useful but it will open. Most editors (and IDEs) will give you major heartache if you hand them a file that's too big and / or not one of their expected formats.
Try opening a 1 Gig file in Notepad for an example.
I started using Emacs somewhere around 1980 and it has always been a tool in my toolbox. It's not the only tool but it's always something that I can turn to and know that I'll be able to get some useful work done.
Obligatory inflammatory comment: On the other hand, I have nothing good to say about vi. I've always felt that vi would happily kill me and sell my organs just out of spite....
In real life, I use Netbeans for almost all forms of development and I use emacs every now and then to make a quick edit. There's almost nothing out there that is quite as convenient as emacs (for me) when it comes to getting something crazy done right now.
Anybody else ever have to edit static strings in compiled binary executables? Is there a better tool for that sort of thing than emacs? It certainly works for me.
While the IDE's have gotten a lot better in the last decade, they still contain the programming in a little safe "bubble", far away from some of the uglier details. What tends to happen is that this increase in abstraction allows for more programmers to do more, with less knowledge. That, of course, doesn't apply to all programmers, but easier tools do bring programming to a wider audience.
More knowledge of lower-level tools, often translates to more stability in the code, since there are less chances of "going against the grain" accidentally. It's unfair to just list out EMACS as being the only leading indicator, since it comes from a whole range of languages and tools, and really is more about the depth of understanding, not the specific technology.
Way back, you either learned VI or EMACS on the UNIX boxes or you specialized in PCs (OK, there was VMS, CMS, AS400, etc. too, but those were older technologies). Both streams attracted very keen people, but the UNIX guys tended towards wanting a sophisticated solution, while the PC guys just wanted it done quickly. The cultures were very different.
I began with emacs but switched to vi which to me is more elegant because of it simplicity. Also if you ever are stuck in single user mode, ed commands are a subset of vi commands. I don't know if emacs can handle that.
So in that regard I think vi makes you a better programmer..
No. Good code makes you a better programmer.
That said, good text manipulation is key to efficiency. Either vim or emacs will change how you work with text -- both are proven effective but are almost at odds with each other in terms of style. Also, this debate is rather old (back to the 80's and 90's where text -> compiler was key), so there are many other text editors and/or IDEs that can help you be the best programmer you can be.