I've been Eclipsed!

Email.Email weblog link
Blog this.Blog this

James Elliott
Jun. 16, 2004 04:23 PM

Atom feed for this author. RSS 1.0 feed for this author. RSS 2.0 feed for this author.

I recently started using Eclipse as my development environment. People already familiar with Eclipse are now spluttering "Recently?! What took you so long?" while the rest of you wonder what the fuss is. Let me try to explain for both groups. Eclipse is an incredibly powerful (and, even more incredibly, free) open-source IDE, with a plug-in architecture that supports deep and rich extension and customization. It ships with the "Java Development Tooling," an add-on that teaches Eclipse how to support the development, testing and maintenance of Java programs. The JDT works so very well that I can no longer imagine developing Java code without it. Although most people probably think of Eclipse as a Java editing environment, the JDT is only one possible tool for the platform, and people are working on others. (I'm particularly interested in the Eclipse Web Tools proposal, which ought to add JDT-style psychic support for editing JavaServer Pages and other artifacts of J2EE web applications).

So if Eclipse is all that, why haven't I been using it for a while? Well, I have a couple of excuses, some better than others. As a Swing "partisan" (you can't work on a book as massive as Java Swing and avoid bonding with the material at least a little) I was concerned about Eclipse's use of the competing "non-standard" SWT graphical toolkit. And in truth, partly because of SWT, early releases of Eclipse didn't work well at all on Mac OS X, one of my two main platforms. I was only slightly joking when speaking of partisanship, too. There has definitely been some tension, at least, between folks at Sun (and those who strongly support the Java Community Process) and the SWT/Eclipse camp. I like Sun and am grateful for Java... and you have to admit that even the name "Eclipse" seems like a jab. What's being eclipsed, after all? I had some uneasy feelings upon learning that there was a parallel Eclipse convention nearby during last year's Java One. We don't need to fracture our community; the real enemies are still out there! <grin>

Finally, I'd heard some frightening stories from coworkers about bad experiences with WSAD, an ancestor of Eclipse used as the development environment for IBM's WebSphere Commerce Suite. WSAD insisted on keeping all your source in a DB2 database, rather than text files like you might expect. Not only was this an awkward change for some developers, eliminating their ability to apply many familiar and powerful text-processing command-line tools to the source tree, but the database sometimes got corrupted, causing loss of work. Happily, Eclipse did not inherit this quirk. It works with a normal file system source tree just like an editor should.

When you get right down to it, my biggest obstacle was inertia, which should surprise nobody. I had been using Visual SlickEdit for years, and it had grown into a very powerful and productive environment for me. I had a hard time believing that a free tool could come close. A month ago I was finally pushed into trying it out by my friend Tim who wanted me to build a Swing interface for his hobby project (a program to help people build skill in the game of Go by presenting instructive problems, "tsumego," to explore). Because I'd be working on it at home, where I've only got my Mac, I wouldn't be able to use SlickEdit. I've been bugging them for years to release a Mac port, which should be really easy because they already support a ton of other Unix platforms, and I'd be willing to put up with an X Window System interface in order to have the editor at all. But evidently their own marketing studies convinced them I was in the minority, and they never did. Tim told me he was having good luck with Eclipse, and offered to help me get started with it.

Well, I'm no longer waiting for SlickEdit to be ported to the Mac. In fact, I've switched to using Eclipse on my Linux machine at work too. It's that much better at supporting Java development. In fairness, I'm still using SlickEdit for editing the JSPs, because it's still better at that (and their development focus covers a lot more languages and environments than Java). But it won't surprise me if soon I find enough Eclipse plugins to address all the areas for which I write code, and stop running Slick at all. Eclipse is a great example of the power of an open, extensible environment in which people all around the world can contribute.

James Elliott is a senior software engineer at Singlewire Software, with fifteen years' professional experience as a systems developer.