First Impressions of Eclipse

I’ve been playing with Eclipse a little recently, primarily in order to evaluate it as a tool for ColdFusion development. I actually haven’t gotten to the point of installing any ColdFusion plugins yet, however, because of various issues I’ve run into with Eclipse itself.

Below are my first impressions of Eclipse as a development tool. I’d be interested in hearing what kinds of experiences others have had, and in getting your reaction to my comments.

The first thing I noticed is that it’s a little on the slow side. I’m running Eclipse on a 1GHz Powerbook with 1GB of RAM, and I was a little surprised at how long it took to start up (well over 30 seconds!). It’s obviously not fair to judge an application’s performance solely by its startup time, however, and I did find that it was generally more responsive than its startup time indicated it would be, but there are still plenty of annoying pauses here and there. For instance, creating a new file for some reason took about five seconds, which seemed a little excessive. I’m looking forward to trying Eclipse out on a Windows box, however, where I suspect I will find it to be significantly faster.

I discovered that one of the reasons Eclipse took so long to start up was that it was actually starting an imbedded application server as well as the actual IDE. It seems the entire help system is written in Java and JSP, so Eclipse starts up an embedded server listening on port 57806 in order to generate and serve help content. There may be other reasons for embedding a server that I am not aware of, but I don’t think a dynamic help system is worth the overhead. If the Eclipse team decided that HTML was the best format for help files, why not generate them once, and include the static HTML files in the product? I’m also not crazy about arbitrary socket servers being started on my machine.

On a more positive note, I really like the overall metaphors Eclipse uses. Projects and perspectives are sound concepts, and are well implemented. I like the package explorer, and the way Eclipse organizes projects. One of the biggest problems I had with the application, however, was that it seems to want to recursively incorporate all files and directories into a project. For instance, I wanted to make a project that points to a directory where I keep most of my source code in various directories and packages, and Eclipse slurped up all the files, regardless of file type, including CVS directories, text files, etc. If nothing else, I think that behavior should be disabled by default, but I actually didn’t see a way to disable it at all. It seems to me it would make much more sense for developers to explicitly add files to projects.

Before I started working with ColdFusion files, I wanted to see how Eclipse worked with it’s primary file type — Java files. Of course, it has some very nice features for Java developers, but I actually didn’t see a lot that JBuilder didn’t have three or four years ago (although I will admit that had I been collaborating on a large Java project with other developers, I’m confident I would have been more impressed with what it had to offer — this is not an area I explored extensively). The code hinting didn’t work with dual monitors (the hint window would always appear on my main monitor even though the Eclipse window was on my secondary monitor), and I couldn’t get code hinting to work at all with any project type other than Java (isn’t it reasonable to want Java files in simple projects?). Eventually, I couldn’t get code hinting to work even with Java projects because Eclipse thought that my project was referencing another nonexistent project, although nothing was showing up in the project reference configuration panel.

I will give Eclipse a try on Windows to see if it performs and works any better, and I will continue to check up on the project to see how it is evolving. How do other people feel about Eclipse?