When I first started teaching Java back in 2000, I needed an editor for the students to use. The goal was to have something small and self-contained enough that they didn’t get lost using packages, did a decent job with syntax highlighting, and ideally had an integrated debugger. Code assist was a nice goal, too, but seemed like a long shot.
At the time, for my own development I used Emacs, believe it or not, and an Emacs plugin called something like the Java Development Environment. I don’t remember the details, but I do remember really liking it. It had a good set of templates that I could expand in order to add in syntax, the syntax coloring was very good, and it just felt right.
I played with JBuilder at the time, and even the long lost (but not terribly lamented) Visual Cafe for Java, but never really liked either of them. I think the last version I used of JBuilder was 6. I did play with IBM’s VisualAge for Java, but that was 50% interesting and 50% nightmare. Usually nightmare won in the end — I never liked VisualAge, and the fact that it didn’t have a clue about JSPs didn’t help.
In class, we usually used a shareware program called SitePad. Friends of mine used EditPlus and its derivatives, but I liked SitePad. It was quite lightweight and easy to use. The students found it intuitive and easy.
And then, along came Eclipse.
Eclipse came out as version 1.0, even though IBM’s first version of WebSphere Studio Application Developer was version 4.0.
(I suppose that’s another illustration that not all evil in this world comes from Microsoft.)
I loved Eclipse from the word go. It was easy and enormously productive. The market has since confirmed that impression, as Eclipse grew in market share to dizzying heights, almost destroying the commercial IDE market in the process. Even JBuilder is just another Eclipse plug-in now.
Of course, Eclipse never understood servlets and JSPs. For that I had to suffer through the slings and arrows of WSAD 4, then 5, and now RAD6. Thank goodness MyEclipse came along, or I’d still be fighting those battles. Actually I still am fighting those battles, but at least I have an alternative when I get to choose. I don’t know why IBM assumes everybody has a mainframe on their desk with more gigs of RAM than they can count, but their products bring my computers to their knees. MyEclipse was much better. As Eclipse moved to version 2 and then to version 3, things just got better, faster, and easier.
Until now. Eclipse 3.2 is a beast. It’s almost like somebody from IBM got to the Eclipse foundation and forced them to turn Eclipse into RAD6. It’s massive, awkward and ugly now, with lots of conflicts between the different pieces of functionality. The Callisto release (which included Eclipse 3.2, the Web Tools Platform, and about ten other projects) gave us zillions of lines of code that feel buggy and don’t work together well.
MyEclipse 5, forced to follow the Eclipse 3.2 behemoth, bundles in the WTP and adds a few thousand plugins on top (I wish that were an exaggeration). Lovely. Now I need a couple gigs for everything and still run into problems.
A couple weeks ago I taught a JSF class in Jamaica. One of the students there really wanted to use NetBeans, so we tried that. I downloaded the product, installed their visual web toolkit, and almost immediately crashed the product when I tried to bring up a JSF page. Yikes.
Okay, I thought, I’ll show off what MyEclipse can do. Unfortunately, I allowed MyEclipse to do its normal update that morning. Suddenly its visual editor didn’t work either.
Eventually I had to go to the MyEclipse forums, where they told me I needed to do a clean install of version 5.1 in order for things to work. I did that, and they worked, which is good. Then I decided to play with EJB3 and ran into problems all over again.
EJB3 is probably the most interesting part of Java EE 5. Now that my Hibernate materials project is finished, I want to dig into that. Unfortunately, while Eclipse 3.2 understands Java 5.0 and even Java 5 annotations, MyEclipse 5.1 doesn’t understand Java EE 5. Now it’s back to plugins again.
I eventually had to download a completely separate, bundled instance of JBoss IDE. In that I was able to create an EJB, but ran into massive problems when I tried to deploy it.
Blech. It didn’t used to be this way. You downloaded Eclipse and unzipped it and you were off and running. Now everything is a painful mess of conflicting plugins and version numbers. Maybe I’m just tired, but it takes so much energy now to get all this stuff working any more.
I don’t know what the future holds, but I seriously doubt either product is going to get any smaller. I can only hope the bugs will get fixed and the different pieces will start playing nicely with each other.
Of course, don’t even get me started on the fact that Firefox 2.0 hangs roughly once every other day.