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 idea is that the commercial (Ultimate) edition will earn its place on a professional's desktop, justifying a paid subscription through increased programmer productivity. If you are earning $50-100K per year as a Java developer, it doesn't take much of a productivity boost to give you a quick ROI on a $500/year business IDEA subscription. The price goes down in subsequent years for businesses, is much lower for startups and individuals, and is free for students, teachers, "Java champions," and open source developers.

IntelliJ touts IDEA for deep insight into your code, developer ergonomics, built-in developer tools, and a polyglot programming experience. Let's drill down and see what these features mean, and how they can help you.

jw javaidesreview fig1

Figure 1. IntelliJ IDEA shows a number of warnings and suggestionsbased on a lint-like static analysis of your Java code. You can expand these by clicking on them, as shown here; in many cases you'll also get a pick-list of quick-fix actions. Notice the elision of imports, the highlighting of embedded HTML tags, and the wide range of functionality evident from the top menu.

Deep insight into your code

Syntax coloring and simple code completion is a given for Java editors. IDEA goes beyond that to provide "smart completion," meaning that it can pop up a list of the most relevant symbols applicable in the current context. These are ranked by your personal frequency of use. "Chain completion" goes deeper and displays a list of applicable symbols accessible via methods or getters in the current context. IDEA also completes static members or constants, automatically adding any needed import statements. In all code completions, IDEA tries to guess the runtime symbol type, refine its choices from that, and add class casts as needed.

Java code often contains other languages as strings. IDEA can inject fragments of SQL, XPath, HTML, CSS, and/or JavaScript code into Java String literals. For that matter, it can refactor code across multiple languages; for example, if you rename a class in a JPA statement, IDEA will update the corresponding entity class and JPA expressions.

When you're refactoring a piece of code, one of the things you typically want to do is also refactor all the duplicates of that code. IDEA Ultimate can detect duplicates and similar fragments and apply the refactoring to them as well.

IntelliJ IDEA analyzes your code when it loads, and when you type. It offers inspections to point out possible problems (as shown in Figure 1) and, if you wish, a list of quick fixes to the detected problem.

Developer ergonomics

IntelliJ designed IDEA with the developer's creative flow--aka "being in the zone"--in mind. The Project tool window shown in Figure 1 disappears from view with a simple mouse click, so that you can concentrate on the code editor. Everything you want to do while editing has a keyboard shortcut, including bringing up symbol definitions in a pop-up window. While learning the shortcuts does take time and practice, eventually they become second nature. Even without knowing the shortcuts, a developer can learn to use IDEA easily and quickly.

 

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

Sign up for CIO Asia eNewsletters.