Originally posted by: MadRat
The only problems with Java I've seen were the ones created by Microsoft making their own standard. Having all of our developer tools using MS Java - then MS forcibly removing support for it because they got spanked in court - caused the only pain and suffering over Java IMO.
As I recall, the big tiff between Sun and Microsoft over Java was Microsoft's addition of its own set of classes to their JRE. Since Microsoft owned the dominant operating system (Windows) and shipped its virtual machine along with its own classes in Windows, Sun feared that developers would write apps using Microsoft's classes and thus would break Sun's much-touted cross-platform compatibility. Sun started campaigning for "Pure Java" development.
As a result, Microsoft stopped developing its VM (leaving it at Java 1.1), millions of Windows users were left with an outdated VM, and Sun was unable to push Java2 apps and applets out effectively (since the default Windows VM would not run them). Eventually, they forced Microsoft to remove the VM completely from Windows (with XP SP1), forcing XP users to download their JRE.
Distributing Java applets and applications has been an absolute nightmare thanks to these headaches. You can't depend on users having a Java 1.1, 1.2, 1.3 or 1.4 virtual machine installed. Each VM has its own quirks, and none particularly run quickly in the desktop setting (server VMs are much better, and Microsoft's VM was pretty fast too, albeit buggy). Java is wonderful from a development perspective, and for server applications it runs quite fast, but as a desktop application platform it stinks.