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?

7 Responses to First Impressions of Eclipse

  1. It runs very fast on my 2 cpu2.8h 2 gig development machine. I’ve never tried it on anything else.I don’t use most of the features in it, but what I do like is how it seperates projects and the speed. I had dreamweaver on the same machine and it didn’t even come close to the speed. However dreamweaver has much more features that i like. cfeclipse has some of the same features and they have been pretty productive on adding new features.What I like most of all about eclipse is every day I can see it being improved, and I can see that my suggestions and ideas are being implemented. Most of the time overnight. And if I choose I can contribute to the project and add features myself. I don’t get any of those things with dreamweaver.Plus it’s free!

  2. I’ve had a lot of problems running Eclipse 3 on my PowerBook – no plugins would work correctly – so I’ve reverted to Eclipse 2 but I’m really not getting into the way Eclipse works… There’s a cool UML plugin for it tho’ that’s free. Although it didn’t really do enough for me so I reverted back to Together Control Center as my UML / Java development tool.

  3. Steve Collins says:

    I’ve been using Eclipse for my CF development almost exclusively since the end of February – using DWMX where something I want to do can’t be done by Eclipse.I’m not using it on a Mac (but I am using it both on WinXP and Fedora), so the performance issues certainly haven’t affected me. I’m presently using the 3.0M8 build with several plugins – CF, Bugzilla, CSS, Colorer.The thing that has me sold is all the things Macromedia should have done years ago in the CF Studio and Dreamweaver products but hasn’t – despite user community noise:* CVS/Subversion integration (which is very, very good) and other Team and Synchronisation tools* Bugzilla integration (early days, but still useful)* Tasks* Ant integration* Views and PerspectivesI have to admit it’s not good at picking up existing structures into a project and then playing happily with something like CVS – much better if you create a new sandbox to work with.But don’t give up on it, as it’s way powerful. Macromedia would do well to take a few of the concepts and tools and roll them to their Studio product line.BTW, Sean, which UML plugin are you using?

  4. Ralf Bokelberg says:

    I use eclipse to edit php and flash projects up to 500 files/project.Your comments about speed reminded me a lot of flash2004. Imho Eclipse runs much faster, more reliable and more consistent on my 1500MHz Pc, though its written in Java and not in C++.On my system the server used to display the help files is started when i open help, not when i start eclipse. Maybe there is an option to change this. Additionally having jsp at your command gives you the opportunity to implement something like dynamic notes to you helpfiles. Your comment sounds a lot like the famous “uh, who needs more than 640 kb main storage” to me :)I love all those team features, the wonderful local history, cvs integration, tasks ! Tasks are the greatest thing at all. They allow you to mark todos in any of your file and directly jump to it.Plugins i mainly use are eclipseColorer, phpeclipse and antlrEclipse.Imho it would be great to have a set of plugins to integrate flash into eclipse. A decent editor with refactoring, a compiler and a linker – i would happily pay for it.

  5. Ralf Bokelberg says:

    Just one more thing:[quote]What I like most of all about eclipse is every day I can see it being improved, and I can see that my suggestions and ideas are being implemented.[/quote]I second that. Maybe its impossible for a big company like Macromedia, but listening to the users of a product and changing something or the possiblity to change it on your own is the greatest feature at all.Ralf

  6. Chris Scott says:

    I just started looking at eclipse last night, and I have to say, I’m getting REALLY excited about it. I don’t know about the speed issues mentioned here, I am running it on a 1GHz Powerboook G4 with 1 gig of ram and a 1GHz G4 with 768 MB ram and it seems no slower than DW 2004 with the update. However I haven’t actually produced any real code with it. The workspace is so nice and having things like CVS, compare files, and local history are so nice. I do hybrid developement, so being able to do CF and Java in their own perspective has me really excited. Can someone maybe put a list of plugins which are good for CF development, as well as UML?

  7. Eclipse and SWT

    For those of you who have tried on Eclipse have probably noticed somthing unusual for a Java GUI application, it’s extremely fast!