InfoWorld review: Top Java programming tools

Eclipse, IntelliJ IDEA, NetBeans, and Oracle JDeveloper continue Java's tradition of rich and diverse development tools

1 2 3 4 5 6 7 8 9 10 11 Page 5
Page 5 of 11

Top Java programming tools: JetBrains IntelliJ IDEA 9.0.3
JetBrains' IntelliJ comes in two basic flavors: a paid version, which is the one I reviewed here, and a free open source Community Edition that provides basic Java editing features. Because the paid version of IntelliJ competes with multiple free products, it has to prove its stripes all the time. It does so by innovating faster than the other IDEs. Its long record of innovation has won it numerous fans who are passionate about the product. Indeed, there is much to be passionate about.

For starters, the developers behind IntelliJ have a good eye for emerging trends in the Java community, and they quickly add support for new, hot products. IntelliJ was one of the first products to offer robust support for Groovy and Grails, for example. It was one of the first to provide advanced support for JavaScript, including a debugger. Where it isn't first to market, it's often second and frequently with better support. It has seamless Ant and Maven integration, Spring support, and the ability to jump from Java coding to Adobe Flex and PHP -- from within the same IDE.

But it's the features that IntelliJ provides -- more than the range of supported technologies -- that have won the hearts and minds of many developers. Years ago, for example, it was the first IDE to provide a dialog box comparing the actual output of a unit test side-by-side with the expected output -- with highlights marking the differences.

Today, it comes with features that are generally better implemented than those of its competitors, as well as some that are entirely unique. In the former category, IntelliJ offers a wider range of possible refactorings to a code base than most other tools. In addition, it has a built-in syntax checker that not only looks for errors but also for "smells," an agile term that refers to code that works correctly but is poorly written: functions that are overly complex, for example, or code that tests for a condition that is always true. Furthermore, IntelliJ provides its own code coverage tool that shows inside the IDE which lines of code have been exercised by a given run of tests. Should you prefer a different option, IntelliJ also bundles the open source EMMA product and has plug-ins for all other coverage tools of note.

IntelliJ IDEA with two side-by-side editors.
1 2 3 4 5 6 7 8 9 10 11 Page 5
Page 5 of 11
How to choose a low-code development platform