I've been Eclipsed!

by James Elliott

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.

Do you use Eclipse? If so, for how long, and what do you think? If not, what is holding you back?


2004-06-17 07:17:28
Visual SlickEdit
Thought you might be interested...

I too have loved slickedit and was a beta tester (got the hat to prove it!) on both the visual slickedit plugin for Eclipse and the Visual Slick Edit Studio which is built on Eclipse and integrates slickedit features.

The problem I had in using it is that I missed some of the refactoring features that Eclipse has and also the source/organize imports, which I use all the time and come in the Eclipse java editor.

I have ended up using just plain Eclipse with free plugins.

2004-06-17 14:34:31
WSAD is not an ancestor to Eclipse. Visual Age for Java was more like an ancestor. WSAD is a huge, bloated mess on top of Eclipse that provides support and wizards for things like EJB and web services development and provides testing server environments which are scaled down versions of WebSphere Application Server.

Visual Age For Java used a repository called ClearCase which stored your source code. When they developed Eclipse, they bagged all that nonsense. You now can keep your code on the file system or in CVS. However, you still cannot just use eclipse's JDT to just open a file on the file system and edit it without first importing it into an Eclipse project. Hopefully they will remove that limitation one of these days.

2004-06-17 20:19:36
Visual SlickEdit
Heh! I have one of those hats myself.
Thanks for the information--I had heard of the plugin, but haven't tried it yet, and based on your comments I probably won't: the refactorings and source manipulation options in the JDT editor are huge to me. So is the way you can write a statement that uses an unrecognized identifier and hit Ctrl-1 to "fix" it by defining the variable, field, method or whatever. This ties in tremendously well with a test-first design philosophy, which I'm trying to teach myself.
Of course the other factor is that the plugin is probably limited to the same platforms as Visual SlickEdit itself (if not an even more limited set) and that was what pushed me into discovering Eclipse in the first place.
2004-06-17 20:27:51
Thanks very much for the clarifications. Since I wasn't one of the people on the WSAD project of doom, my grasp of the details is clearly shaky, but the emotional scars on the unlucky victims were enough to scare me away from anything associated with it.

I'm glad to hear Eclipse has an even more distinct pedigree than I realized--having used it was enough to convince me of its merits, but I now have less cognitive dissonance to worry about. :^)

So far I don't mind the need to create a project before editing files; I can see how the project classpath and related settings make the job of the JDT easier. But I can also see how it would be useful to be able to just open a file as you suggest for some quick editing, perhaps with a subset of the normal editor features available.

2004-06-19 18:25:14
Apple jumps on the bandwagon
Today's Apple Developer Mailing included a link to an article of their own in which they praise eclipse as part of what makes Mac OS X a wonderful development platform. Of course the idea is to have people buy more Macs, but I was amused by the angle.
2004-06-26 05:17:27
JSP / Servlet Plugin

You might want to have a look at MyEclipseIDE.

It's a plugin for Eclipse for web application development. Although not free, it only costs $30 a year ( I have no affiliation with MyEclipse BTW ).

I have been using it for a while and find it excellent.



2004-06-26 16:31:56
JSP / Servlet Plugin
Thanks very much! You're the second person who's recommended this plugin (the first sent me an email) and I definitely plan to check it out when I get back from JavaOne.
2004-06-29 11:13:36
Visual SlickEdit on the Mac
Yesterday at Apple's Worldwide Developer's Conference, Visual SlickEdit announced they are porting to Mac OS X, and there is a preview available. What irony...

If they'd announced this a few years ago, or even a few months ago, I might never have tried Eclipse. But now that I have, Eclipse is clearly a better environment for serious Java work, and I'm sticking with it.

I may still buy SlickEdit for working with PHP or JSP, but I may just collect Eclipse plugins for those things, and stay in a single coherent workbench.

2004-07-01 12:27:38
Grinding axes huh?

VA used a binary repository called Enigma not clearcase.

WSAD is eclipse with a lot of plugins. You can use WSAD or use eclipse and spend a few years looking for working open sores plugins.

2004-07-02 00:33:43
Thanks for the further clarification. And just to be clear myself, I don't have any personal axes to grind with WSAD, since I've never been involved in a project that uses it. I was merely reporting the experiences of co-workers I trust.

As far as I understand it, there is not much reason for me to try WSAD, given that I am not using WebSphere, nor EJB, nor Windows. But if this is not correct, I would certainly appreciate enlightenment!

2004-08-12 15:28:13
Visual SlickEdit
You should check out the new 9.0 plugin for eclipse. It has real-time error notification and most of the Eclipse refactorings.
2005-01-07 15:42:30
Dude! I use WSAD everyday. And No, it does not use a DB to store its source code.
The following are true about WSAD:
*It is built on top of Eclipse
*It has lots of plugins to support J2EE development, especially targeting WebSphere
*It has owesome support for XML
*It has even more awesome support for WebServices
*It can host any plugin for Eclipse
*All those plugins make WSAD pretty heavy, so get yourself a workstation with at least 2 CPUs and Lots of Memory ;-)
2005-05-06 14:58:24
OK, did anyone every actually use VA Java or VA Smalltalk (VA Java was built with VA Smalltalk...)? The source code repository was called Envy, not Enigma.

And by the way, Envy was the best SCM repository I have ever used, and I've used plenty. The best features were the fact that you were freed from the file system (the author thinks this is a negative), every change ever made was stored in the repository and ownership of artifacts was assigned at every level.

Envy had two major drawbacks...
1- The VAJava implementation only allowed for storing of java files, nothing else. I'm not sure why, because you could store whatever you wanted in the VASmalltalk version. This made web development a little difficult to manage.
2 - Short sighted monkeys that love to be tied to the file system and only understand check-in/check-out.