In my opinion, Java developers should have several IDEs installed on their PC. In the era of ANT and Maven, the build of your project should be automated anyway, so it’s OK to use more than one IDE based on your current needs.
There are several IDEs that are-good-enough for any Java developer. Two out of three best IDEs are free:
Free Eclipse is nice because of variety of plugins available. Since I’m into Flex programming now, I’m still using it.
Free Netbeans shines when it comes to GUI designers (Matisse). I’m planning to attend Netbeans tutorial day during my JavaOne visit.
But if you need just a really good Java-aware IDE, there is only one to use: not-free-but-inexpensive IntelliJIDEA.
During my 8 years of Java programming, I worked with VisualAge, JBuilder, and Eclipse. I knew that IntelliJIDEA had a loyal following of expert Java programmers, they won the JDJ’s Best IDE award, but I just didn’ t have an opportunity to use it. Finally I started using IntelliJIDEA on decent-size project having three hundred classes.
I do not have time to list all nice little features of this product that help you with every move you make! Some time later I’ll write a product review of this tool… This IDE outsmarts me big time. Finding classes, refactoring suggesting solutions… everyting is at your fingertips. I’m starting learning Java again with the help of this IDE.
JetBrains folks did an amazing job. If they’ll add a decent Swing GUI designer, this will be the only IDE to use. Hands down.