Java used to be the prime choice for creating applications that can run in any platform. But if you want to take advantage of the latest additions in the Java 6.0 release of the platform, you will probably face a big disappointment at distribution time. The main problem is that most users don't have the correct version of Java in their system. In a word, it is a big pain for most users to update the Java Runtime Environment. In the case of Windows, whenever you update Java, it will add a new version to the machine, so after a while, a user will find 4 or 5 different versions of the JRE in their systems. Each download is big and slow. I am not familiar with the case of linux, but for the distributions I have tried, Java 5 is installed by default. Finally, just this week Apple announced the availability of Java 6.0 for MacOS X Leopard with support for just 64 bit Intel processors.
Are we stuck with Java 5.0 to be sure we can deliver an application that any user can use? I would love to hear your opinion.