When I started out with Java programming, back in the day, I used Visual Cafe as my development tool. At the time, it was not very advanced, but it did not need to be. Anything more advanced than Notepad and a DOS window was a state of the art tool when using Java 1.1. I went through many versions of Visual Cafe, up to the Linux versions a couple of years ago. From there, I back-peddled a bit and used a simple text editor (vim) and Makefile scripts. It was not a graphic development environment, but I was developing servers and other things that had no need for graphics. From there, I switched over to JBuilder for a short time–nifty, but expensive for the versions that have usable features. Next, I switched over to Sun's Forte, then quickly switched to the free (“as in speech”) version of it, NetBeans. NetBeans has been working quite nicely for a while, but it seems to be getting slower and slower with each release. It also seems to be getting buggier and more prone to hang with each release. I set out to find a replacement.
Enter IBM's Eclipse. This is a free (“as in speech”) IDE that is a year or two old. When I first looked at it, it was very simplistic–not much more than a text editor with a compile button. Looking at the current version of Eclipse blows my mind. For one, it is a compiler–but where is the compile button? THERE ISN'T ONE! The compiler has no compile button! It just kind of automatically makes incremental compilations in the background when it needs to–when you save a file, when you open a project, when you launch a program, etc. While this scheme sounds like it could be annoying, it is done in such a way as to completely change my thinking of development environments. First, they managed to get it to constantly compile, but not slow down the system at all. Next, there is no “compiler output” window or whatever to keep annoying you every time it compiles–there is simply a “tasks” list that lets you know what is broken, what could use improvement, and even lets you put your own TODO's on there.
I think I will be sticking with Eclipse. It has more features than any other Java IDE I have used, yet somehow runs FASTER and looks much more pretty than ANY IDE I have ever used.