earn my living as a Java consultant and have concluded that Java is far from a perfect programming language. For many applications, I prefer to use dynamic languages like Common Lisp, Ruby, or Python. However, I use Java for most of my work for two reasons:
- Freely available, high-quality infrastructure software for Web portals and services
- The high quality of Java IDEs
The only programming languages that have IDE support as good as or better than Java are Microsoft's C# (and associated languages ASP.NET, C++, etc.) and Smalltalk. Smalltalk is a niche language that I avoid because finding experienced Smalltalk developers is difficult. I tend to stay away from Microsoft's Visual Studio-supported languages as well, because I don't want to be locked into Windows-only deliveries.
So, as a Java developer, my choice of IDE is important.
A No-Brainer for 4.x Users; A Choice for New Users
I use the IntelliJ IDEA Java IDE
for many hours a dayit is my primary development tool. I think that version 4.5 of the product is close to perfection, but IntelliJ does have strong (and free!) competition: NetBeans
(which I use for building JFC-based GUI Java applications) and Eclipse
(which I sometimes use because no one IDE nicely handles Java, Ruby, C++, and Python projects). Yet JetBrains (the company that produces IntelliJ) seems to realize that they are their own best competitor, so they are offering registered users a special limited-time deal on upgrades to it's new 5.0 version (released August 1, 2005). Until September 1, an upgrade is $149; after that, an upgrade from any previous version is $299.
If you have not tried IntelliJ before, you can always get a free 30-day evaluation license from JetBrains. Obviously, "free" evaluations aren't really free: they require your time. If the cost of IntelliJ is not in your business' budget, then you're probably better off choosing one of the free Java IDEs rather than spending the time evaluating IntelliJ.
For current IntelliJ IDEA 4.x users, the 5.0 upgrade (especially with the discount offer) is an easy choice: do it. For Java programmers who use Eclipse or NetBeans, the buying decision is more difficult. In addition to the cost, they must consider the startup time for learning a new IDE. IntelliJ 5.0's improved J2EE support (or more likely, a subset of J2EE) does make the purchase easier to justify though.