Ask Questions?

View Latest Questions



Posted on: July 26, 2006 at 12:00 AM
There are many good, free, IDEs (Integrated Development Environments) that provide substantial advantages over the use of simple text editors for Java program development.

Java Notes


Summary: There are many good, free, IDEs (Integrated Development Environments) that provide substantial advantages over the use of simple text editors for Java program development. The IDEs listed here are available for Windows; Mac versions of many are also available.

Altho IDEs are the most efficient way to develop programs, they are often not taught in text books. This gives the false impression that they aren't important. Why aren't they covered in most textbooks? There are too many choices, it takes some time to teach / learn to use one effectively, and instructors feel is not central to learning programming. IDEs sometimes also hide details that may be important to learn about. Once you know how to do everything on your own, it's easier to understand and use these systems.

Full-strength IDEs

A full-strength IDE provides extensive programming support for editing, project management, debugging, building GUI interfaces, etc. Surprisingly, most of these are now free.

These offer far more than is required by the student Java programmer, and may be a barrier to learning Java in the beginning because you have to learn to use them. However, there is a big payoff in productivity once you are comfortable with one. Most (all?) of these require installing the Sun JDK ( free at first.

NetBeans -
This free, open-source, IDE is a good choice for the GUI form editor alone, but it has much more. The current version is 5.0 Release Candidate 1, which works very well, and is much superior to the 4.x versions.

It does continuous compilation, which shows jagged red lines under erroneous statements as they are being entered. There is brace matching, refactoring, reformatting, debugging, GUI form editing, and much more.

Eclipse -
The free Eclipse IDE is perhaps the most popular. It supports the non-standard SWT GUI library as well as the standard Java GUI classes.
IntelliJ IDEA -
This is excellent, but expensive. It gets more favorable reviews than any other IDE, but certainly isn't worth the price for coursework, not even at the $99 academic price.
JDeveloper -
Oracle's JDeveloper is now available for free. It looked OK in my one quick test, and seemed very fast. Choose the smallest (100 MB) "Java Download" option to try it. There is a short registration process.
Borland JBuilder
A good IDE, but they weren't enough better to keep competing with the free IDEs. I've had several Borland compilers in the past, and I'm sorry to see them get out of the Java IDE business (Feb 2006). Reportedly the are donating a lot of their work to Eclipse.

Half-strength IDEs

These are simpler to use for small projects, but typically don't have nearly as many features, eg, no graphical user interface editor.

BlueJ -
BlueJ creates a nice development environment, which allows easy evaluation of isolated statements, inspection of classes, debugging, etc. My reaction to early versions was negative because it couldn't create "real" programs. That has completely changed, and version 2.0.4 addressed most of my earlier reservations. My positive view is the result of only 30 minutes of testing, but it looked good. There is a textbook which is customized to use with it. I've seen it in the past and it had many nice aspects. Supports Java 1.5.
Many like it. The Control Structure Diagramming can be nice, but it may reformat your program in undesirable ways. Easy to install, but it rudely wants to be the default program for all kinds of files and it installs itself in C:\ so it can be hard to find. Free.

To enable Java 5 features, start with the Settings menu:
Compiler > Compiler Settings > Workspace > Compiler (Tab) > Environment (Tab)
then choose "j2sdk1.5 (prefer JDK compiler)", and click the Use button, then OK. I didn't figure out how to turn on assertion checking in my brief test.

JCreator -
Free and "Pro" versions. A number of students have used, and liked this.
DrJava -
A simple, free development system. It enforces indentation and allows immediate evaluation of expressions. Java 5 seems to be supported in recent beta versions.
There used to be many more, but keeping up with current Java releases caused many to drop out. But new good ones appear from time to time.

Editors that run javac

Some programming editors will compile Java by linking to Sun's JDK.

TextPad -
Good, but doesn't indent program. Has brace matching feature. You can buy it, but can continue to use trial version with occasional nags. If the Java SDK is installed first, TextPad allows compilation of Java programs from the editor. Minimal, but a common choice because of the simplicity.

How should you choose an IDE?

My favorite happens to be NetBeans, but this doesn't mean it's best for you. Some factors that might be important are:

  • If you're already using a full-featured IDE, stick with it.
  • It's good to have a support infrastructure - use whatever your friends or coworkers are using.
  • Special features might be important to you. Each of the major IDEs has features that the others don't.

If you have no compelling reasons for another choice, I recommend NetBeans. It has nice features that make coding easier, and once you become familiar with its Graphical User Interface (GUI) editor, you can create GUI interfaces very quickly.

Copyleft 2006 Fred Swartz MIT License