Now blogging at diego's weblog. See you over there!

...and the great IDE hunt

Aside from trying out the new J2SE 1.5 beta, I've been looking at IDEs, since we're now going to buy some extra licenses I wanted to make sure we made a good choice. IDEA, a longtime favorite of mine, is sadly out of the picture for reasons unrelated to development which I'll discuss later. (The increased bloatedness of the product --There's a bazillion features on the upcoming IDEA 4.0 that mean nothing to me whatsoever-- also weighs in). Don't bother posting comments saying that I'm an idiot for ditching IDEA. I think it's one of the best IDEs out there and it's probably a good choice for many people, but there are circumstances that go beyond the IDE that made it impossible to depend on it. As I said, I'll talk about that later.

So what have I been looking at--particularly with the change to JDK 1.5 now on the horizon? Well, the first IDE I checked out was CodeGuide from Omnicore. Using CodeGuide today took me back to how I felt when I tried IDEA for the first time nearly three years ago. It is simple, small, fast, and it looks good (Best looking Java IDE I've seen, in fact, better than Eclipse). Additionally, the latest CodeGuide is the first IDE with a final release (6.1) to fully support Tiger features, including an uber-cool refactoring called "Generify" which helps a lot in converting old projects to use generics. What's even better about CodeGuide is what's on the pipeline: CodeGuide 7.0 (codenamed "Amethyst") will include a new "back in time" debugger. Check out the webpage where they describe this new feature. Is that fantastic or what? It seems that Omnicore is really committed to keeping an edge on good functionality and maintaining a simple IDE while including more advanced features.

CodeGuide does have some bad points: it doesn't seem to support some of the standard keybindings on Windows (Ctrl+Insert, Shift+Insert, etc) which is not good for keyboard junkies like me, and its code generation/formatting facilities are pretty limited (among other things). Sadly, these seemingly trivial problems are pretty big when dealing day-to-day with large amounts of code, and they can easily end up being show-stoppers.

I also tried out the latest JBuilder (JBuilder X) and it's improved quite a lot over the last few revs, and is now easier to use as well. The UI designer is nice but as usual it has the terrible habit of sprinkling the code with references to Borland's own libraries (layout classes are a good example), which bloat your app without a clear advantage. Pricing is ridiculous for anything but the Foundation version though, and their focus on Enterprise features means that there are probably more control panels in it than on the main console of the Space Shuttle.

Finally, I tried NetBeans 3.6Beta, and I have to say I was impressed (my expectations were pretty low though, having used early version of it...). It's reasonably fast and looks pretty good, and the UI designer generates simple code which I think makes it very useful for prototyping (I don't really believe on UI designers for building the final app, but that's just me). Charles commented on the release here. It is a bit on the heavy side in terms of features and that's always a problem since I end up navigating menus with feature after feature that I don't really care about (Eclipse can also be daunting in this sense).

And what about Eclipse? Well, I'm waiting for the release of 3.0M7, due tomorrow. We'll see. :) I'll post an update with my impressions after I've tried it, with conclusions to follow.

Posted by diego on February 8, 2004 at 1:26 PM

eye of the tiger...

duke_swinging.gifSo the J2SE 1.5 Beta1 (codenamed Tiger) was released a few days ago. Here are some of the changes on the release, which should probably be called Java 3, since there are so many changes, both to the deployment/UI elements and the language itself (with the biggest IMO being the addition of Generics, of which I did a short eval about a year ago).

Predictably enough there has been quite a lot of coverage on weblogs of the release. Some of them: Brian Duff on the new L&Fs, Guy on Tiger Goodies, Brian McAllister on what he likes about it. Some of the conversation has centered around the new Network Transfer archive format, which brings JARs to 10% of their original size by doing compression tailored to java class format and usage. Eu does some analysis on it and Kumar talks about his experience when using it.

I installed it yesterday and played around a bit with Generics and tried the new L&Fs with the internal clevercactus b3r7. Alan has had problems with it, but I haven't seen anything as what he describes--maybe I'm immune to having multiple JDKs by now and I unconsciously route around the problems before they happen (which is a problem with designing UIs too, btw). Not that this has to stay in this way. :)

My experience has been surprisingly good. Everything works as it should, and aside from a few UI glitches or weird momentary lockups it all went well. For a beta, it looks incredibly promising, and I'm really, really itching to start using Generics all over the place (btw, looking at the Collections package docs now is a bit daunting, with all the generics stuff now included).

The new L&Fs are very, very nice. Particularly welcome is the change to the Java Look and Feel (Ocean, replacing what used to be Metal) which by 1.4x was looking not just old, but downright crappy. How good is it? Well, let me put it this way: if Ocean was available today I'd have no problems deploying it. Plus, the new Synth L&F, which supports skins, is what we've all been waiting for.

Overall: looks like Tiger is going to be the best update in years. Can't wait for the final release.

Next: looking for a new IDE.

Posted by diego on February 8, 2004 at 1:03 PM

Copyright © Diego Doval 2002-2011.