In general, tools are important. No good craftsman should put up with a bad tool. I've seen the amount of money that companies are willing to pay for tools for hardware designers and chip designers, and seen them still turn around and quibble about a few hundred bucks for a proper editor or IDE for the software developers who're going to make that piece of hardware or chip work. Pretty unbelievable.
I completely agree. I wish eclipse didn't have so many issues. Europa was unstable, but had auto-complete, highlighting and indenting down, Ganymede is stable but has issues with highlighting, code sections, and auto-complete. Every so often I'll take a look around and find myself back at the mercy of eclipse. VIM is a nice break, but then I find myself missing some of the eclipse plug-ins and collaboration tools. Hopefully this endless cycle will be broken and eclipse will finally get it's act together, otherwise I'll give netbeans another go, then break to vim, and then crawl back to elipse. Sigh.
I've used vi for 20 years now (gosh), and it's only in the last few weeks that I've actually started using it properly. One example is that I wanted to save in fewer keystrokes; like ZZ, but without quitting. I came up with this for my .vimrc:
:map ZA <Esc>:w<CR>
I find the vim help very intimidating (with every possible feature and then some), but it turns out to be really simple to create your own commands. I also made ctrl-N go to the next file (ctrl-P for the previous file), because I do that a lot.
If he was hacking ExtJS like he mentions in the article, it makes perfect sense. ExtJS forces you to have a good IDE. It has some of the most troubling code styles I've ever seen. (It is deeply nested Javascript.)
I moved from emacs to eclipse, for python development, 3 years ago. Why? The nicely integrated subversion integration (subclipse), the SQLExplorer plugin, and PyDev. I only really use the editing features of pydev, I hardly ever go into debugging mode. I code everything these days using TDD and have eclipse set up to run nose (the test discovery script) on whatever is selected, be it a file or a directory. It also gives me code coverage.
I still love emacs but the future IMO is with eclipse.
I use eclipse when I need the debugger, and for certain code editing tasks (it understands Java code in a way that emacs doesn't... though I'm sure someone could write elisp to solve it) and emacs when I want to impress my friends.
The way I view eclipse is that in general its pretty awesome when the plugin you're using is well developed and thought out. When the UI is nice, everything works great. When you're in mushier territory, emacs (and vi) are like text-editing power saws, they're pretty good at moving text around, but rarely understand the code, so the things you're used to working are pretty much always available.
Which direction do you see things going? I personally feel that more effort is being put into eclipse, hence it has a longer term future.
A big win for Eclipse is the ubiquity of an easily installed, strong, consistent virtual machine across OSes. Cygwin is a great achievement but too much like hard work. I'm compelled to use Windows in my day job, with no admin access, and being able to use the same development environment with my linux box at home is great.
If you do anything in Java, people will ask for Eclipse integration. Clearly the market has spoken in Java-world ;)
Emacs is good because people who are "good at Emacs" are good at text-editing in general. The tool is more general, but that means they can maintain the majority of their output speed in a new language, or a language where things like automated refactoring are tricky or impossible to reliably do (say, Ruby)
BTW: I'd say "easily installed, strong, consistent" applies more to text editors than IDEs. Emacs has a windows binary thats pretty reasonably sized, whereas Eclipse is in the hundred megabyte range and Visual Studio (insert chuckle here).
Just for the record, you can install most open-source software to your home directory using `./configure --prefix=$HOME/opt/' and updating your PATH appropriately.