Eclipse and the death of emacs
Friday August 11, 2006 by Derek Young
I’ve been an active Emacs user for many years. Emacs is truly unmatched as a text editor. It’s sad that it’s been long suffering from a slow down in innovation that has resulted in it’s loss of the title of most powerful programmer’s editor.
Stevey’s Blog Rants has a great post documenting some of the new features in Emacs 22. Specifically he points to improved UTF-8 support and the enhanced replace-regexp function. Both of these features are welcome additions but a. UTF-8 support is really just a catch up feature (and I only know English so it doesn’t give me much) and b. replace-regexp is a text editing feature. Although it helps with source code editing it’s still operating at the character level, not the syntax tree level.
The biggest weakness of Emacs is its lack of structural understanding of code. Sure, it might be possible to develop a true source parser and editor in emacs lisp, but don’t you think realistically it would have been done by now if it’s ever going to happen? Compare JDEE and Eclipse and you’ll see my point.
I had always argued that features like auto-completing function names, context specific API doc and “go to this function declaration” features made you lazy and weren’t necessary… until I started using them and realized I had been wasting my time needlessly without them. Without a parsed source tree it’s impossible to write modern developer features. Regular expression tricks and tags can only get you so far.
The second weakness of Emacs is its lack of a modern display engine. It’s font support is poor, it can’t be embedded in windows of other applications, support of graphics is weak. The effort to anti-alias fonts in Emacs is ongoing but won’t be in until at least Emacs 23, which is most likely years away.
Eclipse has been developed from the beginning as a source editing environment. The refactoring features allow an experienced developer to make major source code changes safely and easily. There is simply no way to replicate these features with scripts, or global search and replace.
Eclipse has weaknesses – it’s not as fast and snappy for one, you can’t run it within an xterm through ssh. But new features are being added quickly, using test driven development, in an appropriate language – Java. Can you imagine making a large change to the C Emacs core? Only a few developers in the world have or ever will.
My recommendation to Emacs users – move to a modern environment now. In the coming years you’ll be moving forward while Emacs slowly fades away.


Yeh can have my emacs when yeh pry from me cold, dead hands! FREEDOM!!!!
— billo Aug 11, 09:50 AM #
I have found that IntelliJ IDEA is the first editor that I will actively select instead of Emacs. But only for editing Java code. For everything else, it’s Emacs, baby.
— Dennis Doughty Oct 20, 03:14 PM #
How do you code in C or HTML in Eclipse. I guess for Java Developers Eclipse may be good, but for someone who has to work with multiple languages, a standard editor like emacs is much better.
— Anand Srivastava Oct 30, 12:46 AM #
On the Eclipse site you can find CDT (C/C++), which has been available for years.
For HTML, you have many options. From the Eclipse site you could have found the WebTools project, which does that and much more.
— Dumbo Oct 30, 05:31 AM #
Eclipse’s WTP project is lightyears away from nxml-mode’s ability to edit XML with suggestions. Not because WTP were lacking features, but because the Eclipse editor is not as powerful and flexible as it would be desired.
Still, Eclipse is amazing for Java development (and improving as we talk). C development with Eclipse CDT is nice and keeps you in Eclipse’s familiar comfy environment, but it’s still far from outwordly.
— JKohen Oct 30, 05:42 AM #
The refactoring tools in Eclipse are really, really sweet—no argument there. And if you work in a few common languages that Eclipse supports well, it’s definitely a good option.
But Emacs remains near and dear to my heart, because it can correctly indent and highlight hundreds of programming languages, straight out of the box. And for the really obscure languages, there’s almost always an elisp file somewhere.
It’s also worth noting that really top-notch IDE support tends to appear late in a language’s life. So if you spend a lot of time out on the bleeding edge, an editor like Emacs can still be a big win.
All that said, I agree that Eclipse is a cool Java environment, and its refactoring tools do make me happy. :-)
— Eric Oct 30, 10:28 AM #
First, knowing emacs helps you edit text in a powerful way on many systems.
Second, IDEs will come and go. Investing the time to learn something like Emacs will be meaningful as long as text needs to be manipulated.
— Andrew Yates Dec 29, 09:13 PM #
There were always the xref refactoring tools for emacs.
For me its Intellij Idea for Java related coding and refactoring and emacs for all the rest.
Michael
— Michael Hunger Dec 23, 06:22 PM #
Have you looked at this?
http://cx4a.org/software/gccsense/manual.html
This gccsense seems like what you are looking for in a text editor.
E.
— E. Mar 24, 01:59 PM #