I was actually the last person at Sun Microsystems/JavaSoft to speak in a civil tone to Microsoft before big Java lawsuit. This was before the Apple/Microsoft lawsuit, but it laid the foundation for it. Basically, my job was to test every implementation of Java to make sure that it complied, 100%, with the spec. Companies submitted their code to me, I ran a suite of tests against their code, and any functions which didn't return the right data were flagged, and the implementation was deemed non-compliant. The company then had to go away and fix their problems and resubmit to us for testing again. Microsoft knew there were three specific function calls in the JavaVM that would destroy Windows. These three calls were what would allow application portability across any platform. Write a Java app on one computer, and run it literally ANYWHERE. Computers. Set-top boxes. Dumb terminals. Anywhere. Over a series of months, MS submitted their JavaVM to me many times, as they made progress. There would be a list of 20 failures, let's say, and they would submit a new release that fixed 17 of those, and introduced a couple new bugs. They'd fix the bugs, submit again, and all but three tests would clear. EVERYONE knew what was going on. Me. My boss. My contact at Microsoft. But we all played the game and pretended everything would be fine. Then Microsoft released Internet Explorer with Java. And the same day they submitted their final JavaVM for approval to me. It failed those three tests. (We all knew it would.) So I sat in a conference room on a conference call with my guy at Microsoft. We had become friends, because we were techies, and enjoyed working together, and had a good relationship. I said, "So Russ, I tested the last implementation, and it is still failing these three tests." Russ: "Yeah, I know." Me: "I also noticed that Microsoft released their Java-compatible version of Internet Explorer today, and it isn't compatible. It fails those tests. And you are using our "Java Compatible" logo, in contravention of the contract you signed." Russ: "Yeah, I know. I'd like to introduce you to our chief legal counsel, ____________." Me: "Hi __________. I'd like to introduce you to Sun Microsystems' chief legal counsel, ________." Russ: "It's been nice working with you." Me: "You too, my friend." And then the 12 lawyers in the room asked me to leave. Microsoft continued shipping their disabled version of Java, all while taking out ads saying how compatible and amazing it was. So people would take their Java app and try to run it on their Windows box, and ... hey! It doesn't work! Microsoft would scratch their head, and feign ignorance, and deflect, and say, "Well, geez. Looks like Java really isn't very good at all!" Then, about 3 months later, they completely re-engineered their implementation of the JavaVM, added about 30 Windows-only calls that couldn't work on any other platform. They documented these calls just like they were standard "Java-approved" calls, and then played dumb when people called and said their app wouldn't run on any other Java-equipped platform. Within 6 months, Microsoft had destroyed the promise of Java, and then funded the development of "JavaScript", which was copyright infringement, and completely unrelated to Java, but their marketing machine was huge, and the confusion they sewed in the industry destroyed the promise of Java. So Apple took them to court for monopolistic practices. And I became disenchanted with the tech industry, left the country, and went to work for a newspaper in Eastern Europe. So yeah... fuck Microsoft.
Meh. It was in contravention of contracts that Microsoft signed in good faith. Then Sun and Microsoft went to court and fought that battle for a DECADE. They were even going to fly me back to the USA from where I was living in Budapest to testify... then I never heard another word from them. Then, Sun and Microsoft settled. Then Oracle bought the dregs of Sun at a garage sale one day in Silicon Valley, and now... well... we have applications running in web browsers built by Google and Apple.... that run software languages that were designed and written out of spite.
This adds a layer to my understanding of reality. Something so ubiquitous and underlying a lot coming out of two big guys brawling over who will screw the other up harder, better, faster, stronger. But wait: you say "languages", plural? What are the other ones?
Well, ASP, .NET, and C# are all attempts to do the same thing, just generations apart. And they are all built upon the same wrong-headed Microsoft thinking: "Lock 'em into our platform and they'll never escape!" It's totally immaterial nowadays. But there is some history there, and us grumpy old men still hold grudges against perfectly capable languages (C#) because of the fires they were forged in.
Well, we all knew what was going on. Microsoft Windows was THE dominant OS, and was Microsoft's bread and butter. But the OS was utter shit, and nobody wanted to use it. They wanted to use the Mac OS, or move to the client-server model of "dumb terminals" or "set top boxes". So MS had to keep people beholden to their OS. If Java worked, then it wouldn't matter what OS you ran... you could buy any program and run it on any Java-compatible OS. MS couldn't let that happen. Their software was bloated shit, but you HAD to use it. There was no choice. As soon as a viable choice came out, MS was going to lose a LOT of money. We all knew it came down to these three functions in the JavaVM. If MS implemented them, they would have shot themselves in the foot, and would bleed out. But Java was the sweetheart of the tech industry... the big promise... the future of technology. So MS had to SEEM like they were on-board with it, all the while working in the background to undermine the entire concept. This is where they came up with their "Embrace And Expand" strategy, where they would adopt the latest sweetheart technology, then add a bunch of Window-only features, thereby destroying the new technology and locking their uses into the Windows OS again. They did this with innumerable products and technologies. It's why Internet Explorer was such garbage, and still is today... it supports all these "standards" that Microsoft has perverted with Windows-specific code. ASP, .NET, C#, ActiveX... everything they have ever "innovated" is a failure on any platform other than Windows, because you never know if the call you are making is supported anywhere other than the MS platform. (Shit, they bought Bungie - a hugely successful MAC gaming company - and their VERY NEXT RELEASE of the software was Windows-only. Most the team fled. Didn't even wait for their MS stock to vest.) So yeah... MS was the 800lb gorilla that we had to make nicey-nice with, if we wanted Java to become the worldwide standard for OS-agnostic software applications. We had hoped that all the publicity, all the co-marketing we did, all the presentations, would eventually force them to implement those last three functions, despite the fact that it would ultimately hurt their business. But with Java running everywhere, seamlessly, the entire market could change for EVERYONE... there would be new ways to "win", and MS would be at the forefront of that. But, instead of choosing to go for pushing the industry forward and embracing innovation, MS went with entrenching and creating a decade worth of utterly shit OSes. Thanks, Microsoft. (98, Bob, Me, 2000, Vista... and on and on and on and on...)
.. and thereby gave away the server, and scientific computing, and embedded applications including cell phones and tablets, and... If the film effects industry had waiting a few years to jump ship from SGI, and so had linux as a viable platform rather than getting stuck with NT, Microsoft's ecosystem wouldn't have any interesting applications at all. So, yeah, thanks Microsoft, if you hadn't been more short sighted you might not be completely below my radar today. And that would be terrible.But, instead of choosing to go for pushing the industry forward and embracing innovation, MS went with entrenching and creating a decade worth of utterly shit OSes.
Can you imagine the juggernaut Microsoft could have been if they had embraced the change, and the internet? Of course, it's all wild-eyed speculation on par with "What if the nazi's had won WWII?", but it's still amazing to think of what they could have been if they hadn't gone the fear-filled and entrenched route, and instead opened up and empowered people.