Four years ago Sun Microsystems instigated a law suit against Microsoft over alleged misuse of the Java licence. Microsoft implemented the Java Virtual Machine (JVM) as an integrated part of Internet Explorer, with OLE implications and hence a proprietary version, which is against all the concepts of Java.
At last the suit has been settled in Sun=s favour with the payment of $20 million (I wonder what the legal costs were?) Further development of all Microsoft variants of Java, including development tools (Visual J++ for example), is now frozen. There will therefore be no .NET (the new name for the latest release of Microsoft=s tired old architecture) aware version of Java directly from Microsoft. To be fair, .NET support for Java will be available, but supplied by third parties.
Where does this all leave the IT industry? IT is not all Microsoft and Sun, but they are a very influential pair. On the surface, Sun has won, but the industry has lost. It is bad enough that Microsoft exploit their monopoly by tying developers into their proprietary architecture, but at least Java support was a small concession in the way of industry standards; now even that small crumb has gone. It is depressing that the IT industry still cannot find a way to exploit standards. The stagnation of the support for Java is just what Microsoft needed. Now they be then offended party and push their Java look-alike, C#. C# is not a bad language, indeed it has a few advances over the current release of Java (successive releases of similar products leap frog each other in facilities), but it is Microsoft proprietary and tied to Windows. With Linux gradually eating away at NT, it can only make sense to support development systems which work with Linux and NT, as well as Unix, etc. That means Java, not C#. In any case students in colleges and Universities are now concentrating on Java and any other OSS system, not Windows. Thus with the skills shortage reportedly getting worse, it is essential to all sing from the same hymn sheet, and that is Java. Forget VisualBasic - and C#. In effect Sun have done the industry a real bad favour by pushing Microsoft into a corner.
The perceptions surrounding Java are very confused. Because of the academics and the inevitable growth of OSS, Java and Linux will become the norm over the next decade. It won't be the same version of Java we have today of course, but it will be Java. More important however is the environment that surrounds and supports Java. Even today it is the J2EE systems that are slowly maturing that provide the key, not the Java language. In such a situation it is very dangerous and very wrong that Sun Microsystems is still the defining authority of the Java language and services. Standards are important and they should be controlled by independent authorities. We only have to see just how successful the Internet has been because of the influence of the W3C, and a similar body, possibly the same one, should take over Java. As it stands, there is a real danger of Sun creating another proprietary system, which will be just as strangling as is Microsoft. The good news is that IBM in particular, but Oracle and others have made the big commitment to Java and they are surely not going to let it become a proprietary Sun system. They might like to control it themselves, but that is unlikely now.
The other thing to note about Java is the way it has moved on. It began as a single user interpretive graphical language, intended to enhance browsers, the Java applet concept. This has only been partially successful because of the generally slow networks still in common use; some people look no further than this and claim that Java has been a failure. This concept will come back strongly into favour over the next two years as communications improve, which is why it was a bad move to let Microsoft ignore development of JVM support in Windows browsers. In contrast, Java has matured far quicker as the language for Server applications.
To be more accurate it is the development of Java based multi-tasking servers such as Enterprise Java Beans (EJB), etc. that have proved so successful. Far from being a failure, Java is now the norm for developing the middle ground application logic that enhances the clients and interfaces to legacy systems. It will be some time yet however before Java is the norm for developing complete applications.
So who won, Microsoft or Sun? Neither, but the IT community certainly lost!