You are currently browsing the category archive for the ‘IDE’ category.

Being an IntelliJ IDEA user for about 5 years now I have resisted the lure of the free open-source IDEs Eclipse and Netbeans. I tried being an early-adopter of Eclipse but found it significantly lacking in support for shortcut keys, refactorings or even a cohesive Java project view that made any sense. The ease in which it led to corrupted projects, and the propensity of buggy plug-ins was also disappointing. That was around 2004. I imagine it’s significantly improved now otherwise it would not have the overwhelming support it enjoys.

Around the same time I tried adopting NetBeans. This was in the day when you needed to mount the filesystem before you could start or open a project. Such strange design turned me off right away. The modern NetBeans is much nicer though and I have been following its progress since 5.0, when the inclusion of the Matisse GUI designer intrigued me.

This week I attended Sun’s EJB3 Business Component Developer course. We used NetBeans 5.5 and deployed our applications to the Sun App Server. The integration between the IDE and the server is sufficiently coupled to provide a modicum of productivity (although Parkes and Weeksy pointed out over a parma that it could be better). It was disappointing though that an IDE of NetBean’s age didn’t demonstrate maturity in regard to refactoring and context highlighting. I’ve just installed the NetBeans preview R6M10 and I can happily report that its “intelli-sense” (apologies for the commoditisation of this proprietary term) has improved. The reason for this, according to the latest NetBeans Magazine, lies in recent enhancements to javac.

Java SE 6 … introduced JSR 199 (Java Compiler API) and JSR 269 (Pluggable Annotation Processing API). The Java Compiler API enables tight and efficient integration with javac (and other Java source compilers), and JSR 269 … provides a source-level equivalent of reflection metadata. Working together, these new APIs allow IDEs and other tools to dig deeply into the structural information that javac extracts from source code.

The end result is that NetBeans is significantly improved. I now feel up to half as productive as I do when using IDEA, and that’s no mean feat! The magazine articulates many new features, including AST-based selection, semantic highlighting, improved code completion, vastly improved refactorings (they’d have to be), editable diffs, javadoc hints and more. Most, if not all, of these features have been present in IDEA for a long time, but it’s good to see NetBeans playing catchup. After all, there is an infinite price differential between the two product licenses. The closer NetBeans’ feature-set gets to matching that of the commercial product the better off the Java development world will be.