A decade of Java Tools... and Eclipse

Over the ten years that Java has been around, there have been numerous Integrated Development Environments (IDEs) for Java developers. The oldest one that I know of is Visual Cafe. Another early one was IBM's Visual Age for Java (VAJ), which I used for a while around 1997(?) and then moved away from. VAJ was written in Smalltalk and was a bit slow on the P-133's of the day. And it didn't store files in a normal filesystem way; you had to export to get your files out into a format you could CVS them. I'm historically a command-line guy, using vi and cc / javac to get things done and command-line CVS to track changes to my files.

But VAJ didn't quite die out. IBM began the process of replacing it with an all-Java solution. To make a long story short, the result was a tool called Eclipse, which IBM has been very good at advocating for. Eclipse has been available in open source for a long time, and is also the basis of IBM's commercial Websphere Application Developer Studio products (WSAD). Nothing wrong with this dual-tier approach: Sun uses the same deal, building their Java Studio products over top of their free NetBeans IDE, and building the for-sale Star Office over top of their free Open Office (Sun are the original donors of both these fine open source products, just as IBM is the progenitor of Eclipse). Around the end of 2004, Eclipse was spun off to an independent organization called the Eclipse Foundation.

Just for completeness, a few other Java IDEs include IntelliJ IDEA and Borland JBuilder (both commercial) and BlueJ, a teaching tool. A site that summarizes many more is Marty Hall's Java IDE site.

From the beginning, Eclipse downloads have included the Plugin Development Environment. PDE really does make it easy to build plug-ins for Eclipse that extent its functionality in almost any area. Because of this, there are zillions of plugins available, both proprietary and free, and several sites dedicated just to tracking available plugins, including Eclipse Plugin Central, Eclipse Plugins (also here). There are plug-ins for web site development, client-side applications development, and many languages other than Java (including Aspect-oriented Java, C/C++ (the above two from Eclipse), Perl, Python, Groovy, Ruby, and even a proposal for Fortran).

Also, versions of Eclipse as recent as 3.0 were deficient in not providing:

Although the latter two were addressed by third-party plugins, the former could not be, as the JDT was too complex for most others to extend to support Java 5. I am pleased to report that Eclipse 3.1 supports Java 5 fully, and that plugins for Visual and Web applications from the Eclipse Foundation are in the final stages of preparation.

Getting Started

In addition to the official docs, see this install tutorial (broken link, sorry). You may also want to pick up one of these books: