Subscribe / Unsubscribe Enewsletters | Login | Register

Pencil Banner

Choosing your Java IDE

Martin Heller | Sept. 7, 2016
Comparing Eclipse, NetBeans, and IntelliJ IDEA for features, usability, and project size and type

The design of the IDEA debugger is especially nice. Variable values show up right in the editor window, next to the corresponding source code. When the state of a variable changes, its highlight color changes as well.

Built-in developer tools

IntelliJ IDEA provides a unified interface for most major version control systems, including Git, SVN, Mercurial, CVS, Perforce, and TFS. You can do all your change management right in the IDE. As I tested IDEA, I wished that the last change in a source code block would show up in the editor window as an annotation (like it does in Visual Studio); it turns out that there's a plugin for that.

IDEA also integrates build tools, test runners, and coverage tools, as well as a built-in terminal window. IntelliJ doesn't have its own profiler, but it supports several third-party profilers through plugins. These include YourKit, created by a former IntelliJ lead developer, and VisualVM, which is a repackaged version of the NetBeans profiler.

Debugging Java can be a pain when mysterious things happen in classes for which you have no source code. IDEA comes with a decompiler for those cases.

Java server programming often involves working with databases, so IDEA Ultimate includes SQL database tools. If you need more, a dedicated SQL IDE (DataGrip) is available as part of an all-products subscription that's only a little more expensive than an IDEA Ultimate subscription.

IntelliJ IDEA supports all the major JVM application servers, and can deploy to and debug in the servers, fixing a major pain point for Enterprise Java developers. IDEA also supports Docker through a plugin that adds a Docker tool window. (Speaking of plugins, IntelliJ has a lot of them.)

Polyglot programming

IDEA has extended coding assistance for Spring, Java EE, Grails, Play, Android, GWT, Vaadin, Thymeleaf, Android, React, AngularJS, and other frameworks. Not all of these are Java frameworks. In addition to Java, IDEA understands many other languages out of the box, including Groovy, Kotlin, Scala, JavaScript, TypeScript, and SQL. If you need more, there currently are about 19 IntelliJ language plugins, including plugins for R, Elm, and D.

Eclipse IDE

Eclipse, long the most popular Java IDE, is free and open source and is written mostly in Java, although its plugin architecture allows Eclipse to be extended in other languages. Eclipse originated in 2001 as an IBM project to replace the Smalltalk-based IBM Visual Age family of IDEs with a portable Java-based IDE. A goal of the project was to eclipse Microsoft Visual Studio, hence the name.

Java's portability helps Eclipse be cross-platform: Eclipse runs on Linux, Mac OS X, Solaris, and Windows. The Java Standard Widget Toolkit (SWT) is at least partially responsible for Eclipse's look and feel, for good or ill. Likewise, Eclipse owes its performance (or, some say, lack thereof) to the JVM. Eclipse has a reputation for running slowly, which harks back to older hardware and older JVMs. Even today it can feel slow, however, especially when it is updating itself in the background with many plugins installed.


Previous Page  1  2  3  4  5  6  7  8  9  Next Page 

Sign up for CIO Asia eNewsletters.