I was flipping through the channels last night and what do I see on one of the news channels but Scott McNealy sitting shoulder to shoulder with Steve Ballmer. And they weren't just sitting next to each other but clearly enjoying each others company! How could this be? It became clear rather quickly when flashed along the bottom of the screen that Steve had just bought $1.6 billion worth of love from Scott and the gang at Sun. It was well known that our friends at Microsoft had about $54 billion in cash that they didn't know what to do with and now it was clear that all Microsoft ever wanted was some soulful loving from McNealy and the gang.
What does all this mean to me and you? O frabjious day! Calooh! Calay! The real answer is, it's about time! Interoperability was always good for both companies and if the billionaire boys club had been able to keep their egos in check we wouldn't have had the raging battles between Java and Microsoft that led to the creation of C# and .NET.
For those of us old enough to remember the early days of Java when the rift occurred, the whole thing seems extremely silly now. Microsoft wanted to use Java but Java on the desktop sucked. All we had was AWT and anyone who tried to write a decent desktop application using AWT quickly learned that AWT simply wasn't up to the challenge. AWT isn't very good today but in the early days it was worse and Swing (as difficult as it is to use) didn't exist as an option. I recall working on a simple AWT application using a Choice. All we wanted to do was let our user select either US or Canada. If they selected US we would fill the Choice with the states. If they selected Canada we would fill the Choice with the provinces. The problem was that there was no way to remove an item added to a Choice so if the user selected US and then changed their mind and selected Canada there was no way to remove the states! We ended up having to create a brand new Choice object.
So Microsoft decided to extend Java with their own extensions that allowed Java programmers direct access to MFC. If you think of this from Microsoft's point of view it made perfect sense. Their bread and butter was (and still is) VB programmers. Do you really think they could tell their VB programmers that they should use AWT? The problem with the extensions, of course, is that any program that used them would not work in any OS except for Windows. So much for the dream of "write once, run anywhere". (Let's not even mention SWT at this point.) The gang at Sun had the dream of replacing all those PCs with network computers (don't try to tell me otherwise because I was in the room when the Sun salesmen tried to convince us that PCs would be obsolete in 5 years). Applications written with the Microsoft extensions wouldn't run on network computers (besides looking a lot prettier than any AWT application running on a network computer). So the lawyers had to put a stop to this desecration of Java.
But I guess that is all water under the bridge now and maybe we will see the MS J2EE application server running on Windows servers someday. Wouldn't that be a hoot! So Microsoft gets to end a potentially messy lawsuit by throwing away some money that they had sitting around. And Sun gets to end a messy fight with a company that they actually are better off being friends with. And maybe programmers can get back to writing applications and forget about the battle of the billionaires.