Editor wars and IDEs

I'm a long time emacs user.   It does just about everything, it runs on everything, and once you're used to the keys everything else seems clunky by comparison.   VIers and XEDITers say the same things.  While I love emacs and it is one of my favorite programs, I have some issues with it:  1) The migration to guile has stalled 2) The lisp compiler is aged and not terribly good, I run it on dual Opteron and dual G5 machines and it's the slowest part still, lisp heavy emacs tasks aren't that much better than on an old machine and lastly 3) it doesn't matter a ton but it's not as nice to look at aesthetically and just doesn't get a ton of attention in that department.

So not long ago I fired up eclipse and I've been quite impressed with it.  There are vague familiarities with LPEX and the old Visual Age products for Java, Smalltalk and C++.  It's definitely java centric out of the box and while I do program in Java that is a turn off because I also program in a lot of other languages and I like a versatile tool that does a lot of things well rather than only one thing.  I forced myself to use it though,  the emacs bindings are okay,  not great but with a little tuning they are tolerable.   There aren't any emacs like macros but you can do most things you need to with out.   Then I started exploring the world of plugins and that is what won me over.Most notable is CDT.  It is a full blown C/C++ "editor mode" for eclipse.   It has all the syntax highlighting and normal features you'd expect but it also has automatic code completion, code browsing and the assisting features you usually only see in Visual Studio or other language specific IDEs.  

There is also PyDev and RDT for Python and Ruby.    As with all plugin based applications like this in the opensource world the quality of different plugins can vary but there are some very high quality ones.  There are also a lot of plugins you can buy that do everything from UML modeling, visual GUI construction to a full blown Ada IDE.   I highly recommend having a look at eclipse,  I find myself using it more and more.   It's self-updating also,  eclipse can be programmed to check when new versions of CDT, RDT and whatever plugins you use have been updated.

Here is a set of decent plugins I've been using and the update URLs for them,  just paste these into eclipse (Help -> Software Updates) and it will automatically install them for you.

  • Plugins for dealing with Maven based builds: http://mevenide.codehaus.org/release/eclipse/update/site.xml
  • PyDev is a python plugin with code completion and browsing: http://pydev.sf.net/updates/
  • CDT 3.1 is the newest stable version of the official C and C++ plugin: http://download.eclipse.org/tools/cdt/releases/eclipse3.1
  • RDT: http://rubyeclipse.sf.net/updatesite
  • subclipse allows eclipse to integrate with subversion: http://subclipse.tigris.org/update
  • javasvn: http://tmate.org/svn/
  • coverlipse: http://coverlipse.sf.net/update/
  • jboss-ide, also has XML plugins: http://jboss.sourceforge.net/jbosside/updates
  • Scheme: http://schemeway.sourceforge.net/update-site
  • Perl EPIC: http://e-p-i-c.sf.net/updates
  • Radrails: http://radrails.sourceforge.net/update

Posted by Ian S. Nelson 21/01/2006 at 11h22