The last time I looked around at Java IDE offerings, JBuilder 4 was one of my favorites. Somehow, I missed version 5 of the product completely (I've got to stop spending so much time in my cave), so I was eager to get a copy of version 6 and start plugging away with it. I came away generally impressed, though less enamored with the tool than I was when I first laid eyes on it in version 4.
JBuilder is offered in three versions: Personal, Professional, and Enterprise. The Personal edition is available as a free download and includes only the core editor and debugger functionality. As such, it basically amounts to a free unlimited-use evaluation copy. The Professional edition is the fully enabled standard version of the product, but it's currently available only for purchase; no evaluations are offered. The high-end Enterprise edition includes some extra premium features and is available as a free time-limited trial. It can also be purchased bundled with Borland Enterprise Server, Rational Rose, and Rational Unified Process as JBuilder Enterprise Studio.
Comprehensive feature list
JBuilder's feature list includes practically everything you'd want in a Java IDE. JBuilder supports multiple JDK versions with a minimum of hassle and integrates with several source code management products. Support for JavaDoc is excellent: JBuilder can automatically generate JavaDoc documentation for you. JBuilder's CodeComplete code and method hinting is first-class and rivals anything you'll see in a Microsoft product. The class browser automatically updates itself while you code, showing you the structure of your application, even anonymous and inner classes, as you build it.
With version 6, JBuilder's support for UML modeling is outstanding, as the IDE can generate a bewildering array of UML diagrams on demand. The aforementioned reorganization tools are available from the UML diagrams, allowing you to rename or move classes directly from a diagram.
Also new, but found only in the upscale Enterprise version, is a set of nice testing and reorganization tools that can make the onerous task of renaming class elements or moving classes to different packages fairly trivial. The JUnit regression testing framework has built-in support, and a number of fixture and test case wizards are included to help automate testing from within the development environment—a nice touch.
If you care about such things, JBuilder was written entirely using Java, which I suppose says a lot about Borland's commitment to supporting the language. Unfortunately, this means that the environment's performance is sometimes poor. Inadvertently invoke the wrong menu option or start the GUI designer and you might want to go take a walk while JBuilder gets itself ready for you. To be fair, this version seems to suffer from fewer slowdowns than it did in version 4, and compared to some of the other "100 percent Java" IDEs I've experimented with, JBuilder is a speed demon.
The IDE feels a little clunky at times and has an unfortunate tendency toward yelling at its stupid human users when they make mistakes. Of course, we're developers, so we can probably figure out what's wrong when the class wizard complains that a class specification could not be loaded, but a little help at these times would certainly be appreciated. JBuilder also appears to have a few stability problems, as I experienced a handful of random crashes during my evaluation.
Best suited for server-side development
Like Java itself, JBuilder appears much better suited for server-side development than for work on the client side. Of course, JBuilder integrates tightly with Borland Enterprise Server, and support for a number of other application and Web servers, including WebSphere, WebLogic, Tomcat, and iPlant, is standard.
While the built-in GUI designer is better than some others I've seen, I still wouldn't be able to stomach using it on a daily basis. It will insist on adding references to Borland-specific packages to the code it generates, which wouldn't be a problem if Java could actually locate them at runtime: they aren't installed along with the IDE itself.
The Enterprise version's EJB 2.0 visual designer, on the other hand, is an entirely different animal. JBuilder's EJB features have been heavily revamped, and the changes are for the better. In JBuilder, you've got a drag-and-drop interface for building your beans, with great support for the latest container-managed persistence functionality in the new EJB spec. It's all very cool stuff and is vastly superior to the EJB wizards that appeared in older versions.
This sixth iteration of Borland's entrant into the Java IDE realm has a lot to offer, especially for server-side and EJB developers. However, it's not the totally dominating force that it once was in the IDE market, mostly because of newer entrants in the space.