Eclipse, not just an IDE
In the past half year i have been doing two projects, of which one in .NET (C#) and one in Java. As far as i can tell now I certainly prefer Java over .NET. Although with "out-of-the-box"-programming in .NET (with "out-of-the-box" i mean simply installing Visual Studio) you will get a result in less time, .NET misses the big (Open Source) community that Java has. While there are expensive IDE's for Java, like IntelliJ, there are also various Open Source alternatives, of which NetBeans and Eclipse are the two most well known.
Especially Eclipse is an extremely beautiful IDE, if not the best IDE ever created. But Eclipse is more then just an IDE. In fact it is a platform to create IDE's. And by default, when you download the official Eclipse release, it comes with JDT, the Java Development Tools. The architecture of Eclipse is completely build on the idea of plugins. Almost every part of Eclipse is a plugin, including the Eclipse core. This is one of the reasons why Eclipse is so nice. It is very easy to add new functionality to the IDE, or even to completely create a new IDE build on top of the platform. Because of the license of the Eclipse platform, both Open Source and commercial plugins are allowed. And as you can see on sites like eclipse-plugins.info there are a lot of plugins available, of which a vast amount is developped as Open Source.
Ofcourse the Java Development Tools itself are also very well designed and provide a very comfortable environment to the Java-programmer. It has basic features like syntax highlighting, Code Assist, syntax checking etc, but also more advanced features like refactoring. An example of a simple refactoring is renaming a file (more complex refactorings are also available): You simply select "Refactor > Rename...", enter a new name, and Eclipse updates all the references that should be updated, so that your code compiles without any further changes (also works for methods and properties). Compare this to Visual Studio where you simply rename the file, compile and check the compiler errors for all the places where you need to update your code... (Visual Studio 2005 (whidbey) will have such refactorings also).
I still have a lot to tell about Eclipse and all the plugins I already tested and plan to test, so I will try to write an article from time to time introducing nice plugins for Eclipse and/or other nice features in Eclipse.
In case you are interested, a list of plugins i use, have tested and plan to test can be found at my wiki.