NetBeans, Eclipse, Oracle JDeveloper and InteliJ IDEA continue tradition of Java of diverse and rich development tools.

java logoGood developers constantly have an intimate, deep knowledge of their development environments; it doesn't matter whether they are full-blown IDEs or editors as for example emacs and vi/vim. Such familiarity would prompt to a high bar to switching IDEs, but actually surveys reveal that a lot of developers move to new IDEs each few years.

Sometimes this migration may be the result of workplace mandates, or it may result from a preference for a different means of working. This review may help in this migration process through rendering a comparative glance at the differences among which the leading Java IDEs: NetBeans, Eclipse, Oracle JDeveloper and JetBrains IntelliJ IDEA. It touches in brief some alternatives as well.

In this roundup the IDEs reflect the remarkable maturity and richness of Java tools. All of them possess excellent support for development and coding, also they have powerful support for syntax checking, debugging and refactoring. Generally these IDEs are prompt and capable of handling big codebases without much difficulty. Most of them let you to use projects to servers straight from within the IDE and make remote debugging from the development system.

The features which distinguish these products have changed somewhat for the last 5 years. While the width of features for Java software development detached the tools in the past, the fundamental differentiators now are ease-of-use, the range of plug-ins and quality of help systems and documentation.

IDEs are becoming increasingly backplanes for plug-ins provided by exterior vendors. In particular, the Eclipse Foundation has much espoused the plug-ins approach. That is evident in the Eclipse IDE, which collects at the cost of ease-of-use.

IntelliJ IDEA and NetBeans do a good job of balancing plug-in count as well as ease-of-use. They both have a good plug-ins range, but they have kept a more powerful focus on the experience of the user. As a result, they collect higher ratings. JDeveloper is the same way easy to deploy, but it has a small plug-in community. Moreover, its intimate linkage to software stack by Oracle makes it an unattractive choice for organizations which rely on software from various vendors. JDeveloper would likely have a richer plug-in ecosystem and will be a more powerful competitor with the other IDEs that are listed here.

The more benefit of the IDE-as-backplane evolution lies in the support for other languages. The IDEs assist the languages mostly deployed with Java applications (CSS, HTML, XML, JSF, etc.) Some as for example JRuby and Groovy, the languages which are outside the Java domain including PHP and C/C++ and modeling UML provide support for JVM scripting languages. At the table below you will see the major languages that are supported by standard IDEs prepackaged versions or developed and made available by the chief project or vendor.

Development language support in the Java IDEs

  Eclipse 3.6 JetBrains IntelliJ IDEA 9.0.3 NetBeans 6.9 Oracle JDeveloper 11g
C / C++ Yes No Yes No
Domain-specific languages Yes Yes No No
Groovy No Yes Yes No
JavaScript Yes Yes Yes Yes
JRuby No Yes Yes No
PHP Yes Yes No No
UML 9 diagrams 1 diagram No built-in support 7 diagrams

At the next table you will see all IDEs which provide great support for enterprise development and Java SE. The support for Java ME and Android development for embedded and handheld devices ranges extensively, when looking at the releases as the IDE organization or vendor shipped, not by third-party plug-ins.

Development platform support in the Java IDEs

  Eclipse 3.6 JetBrains IntelliJ IDEA 9.0.3 NetBeans 6.9 Oracle JDeveloper 11g
Android Excellent Good None None
Java ME Poor Excellent Excellent Poor
Java SE Excellent Excellent Excellent Excellent
Java EE Excellent Excellent Excellent Excellent

The following products were overviewed regarding ease-of-use and coding capability. That is the chief factors determining the effectiveness and satisfaction of the users. The range of plug-ins is also very important. These preferences are reflected by the report card.

Top Java programming tools: Eclipse 3.6

Eclipse proved to be the dominant Java IDE regarding all measures, particularly in terms of size and adoption of its plug-in ecosystem.

Eclipse, within the main Java development environment, forgoes conventions and demands users to go in with its vision. For example, before you may create projects firstly you should create a workspace you create projects. You may also build working sets that represent portions of the workspace that are grouped as if they were separate entities. The confidence on workspaces denotes that migrating or creating projects may be a tedious process less supported by unusual and unexplained options. There is no concept just do it in Eclipse. It is required almost everywhere to fill out dialogs and choose options which are either unintuitive or indistinguishable.

Eclipse's Java coding perspective

Just consider, for instance, a mixed Groovy and Java project imported into Eclipse without a Groovy plug-in. In case you right-click on the Groovy in order to edit it, you will be offered with following options by a pop-up menu: system editor, default editor, text editor and in-place editor. Consequently, majority of Eclipse users must trust the hard-won knowledge of its details, rather than navigating by intuition.

Top Java programming tools: JetBrains IntelliJ IDEA 9.0.3

There is two basic flavors of JetBrains: a free open source Community Edition which provides chief editing features and a paid version.

IntelliJ IDEA with two side-by-side editors

There are checkers which highlight duplicate code in the category of unique features especially pernicious smell, and one which may be difficult to spot in a large code base. IntelliJ as well has a dependency analysis tool which displays on a grid which methods reckon on others and which ones are reckoned on.

Top Java programming tools: NetBeans 6.9

During the last five years NetBeans has made large strides in market share. In 2005 NetBeans was in use at 17.9% of respondents according to annual Java IDEs by New-Your-based BZ Research.

Top Java programming tools: Oracle JDeveloper Studio 11g (11.1.1.3.0)

That is uniquely different from the other products named here. It reflects the agenda of Oracle more than concerning itself with requirements outside of Oracle's interests.