.NET is indeed a rip off of Java and CLI's can and are being built for other OS's (not many, but someone was bound to do it). Your friend is correct in that much. Yes it has been submitted to a standards body (The ECMA). The ECMA has a few members intersted in the CLI, but I wager only because it gives them a way to monitor what MS is up to and because they would be fools to completley ingore it. Even if they are firmly intrenched in Java (such as IBM). Microsoft with its wealth can make it appear as if they can put up a good fight, but, for once, this is a war that Microsoft can win.
Think of how Netscape was destroyed by Microsoft. Very similar situation, with a some key differences.
In that situation, Microsoft again stole ideas and made them their own. (What do we want to steal today?) They matched the functionality of Netscapes extensions to HTML that were above and beyond the W3 standards. They made their browser just as attractive from a functional point of view and then gave it away for free. Knowing this would and did destroy Netscape. A Mack truk kind of approach to removing the competition. Netscape could no longer sell its browser because an equally good alternetative was there for free. A fine example of why Microsoft is generally considered evil by many outside the windows world. Microsoft are modern day Vikings of the software world...why build when you can pillage?
Now, what is the scenerio between Java and .NET? Microsoft had been trying to find an edge into the enterprise for years. However, there really wasn't anything to steal in that arena. SQL was entrenched and Unix ruled. The best they could do was buy some Sybase source and create SQL Server and try to show NT was reliable, but there really wasn't any ideas they could steal...What's a viking to do without a village to raid?
Then came Java.
Java was developed with an idea that microsoft would never have come up with, platform independence. It quickly gathered traction and is now vastly popular everywhere from web servers to enterprise servers. The web and enterprise? I can almost see Bill Gates drooling. The viking king now had new village to rape and pillage. .NET was born.
However, this battle is not like any other they have fought. It is a battle that Bill the Red can not win because this time he has nothing going for him. He has no weapon which can crush this opponent:
- Java is already free. No undercutting this time around.
- Free development toools; Eclipse, NetBeans, etc. Getting better all the time. This is the only area .NET has a slight advantage, that gets smaller all the time.
- J2EE dominates the enterprise (despite MS's rigged Forrester report)...even lies won't save you this time Billy.
- A J2EE solution can be developed with $0 dollars spent for the dev tools, app server and database server. That means students, hobbyists, small and large corps all have a great opportunity to learn the software.
- Licensed development tools, IBM, Borland, etc.
- HUGE backing by the industry. Hundreds of thousands of developers is tuff to beat.
- Unix is still dominant in the enterprise.
- JVM's exist for ALL major and most minor platforms from embeded to enterprise.
- Linux, the other bane of MS. Linux users will use .NET to build apps...WHEN HELL FREEZES OVER.
- Finally...It's not Windows and its not Microsoft..that alone is reason enough for many people.
Bottom line, Microsoft is loosing market share in OS's, development tools and even office software is starting to waver. It has enemies on all sides because it has spent years pissing others off. Giving .NET to the standards community is an attempt to grab what it can, while it can. It is desperate because Linux and Java are both free and can not simply be squashed.
Java already has HUNDREDS of members in the JCP helping determine where it will go.
Java didn't ask for the fight with .NET, but it will inevitably win it. The old viking's ship has a leak and this time he has no weapons.
Kinda sad really.
Tell your friend to hone up his Java.