JavaとC#

MS はまだ本丸と二の丸(Windows と Office)があるからって、それもあるんだろうけど、それとは別の観点で。
MSもSunも言語仕様やAPI仕様を自社でコントロールできるように保持しておきたいと思ってると思う。それによって自社に有利なようにJava世界やC#世界を動かせるし、Sunは多分それをすることでそこから利益を得ている。
C#の場合にはMSが作るWindows上での実装が今後もデファクトスタンダードになることは明白なので、言語自体をオープンにしてしまってもMSはC#を自社のコントロール下に置き続けることができる。MSはそれに加えてかなり強力な開発環境であるVisual Studioも武器として使える。
一方でJavaの場合はいろんな機器で使われているが故にSunの実装がデファクトになるかどうかは非常に怪しい。多分JavaをオープンにしてMSが言語仕様を拡張してしまったらたぶんそれがPCの世界ではデファクトになってしまう。しかもJavaでもっとも勢力の強い開発環境は現状Eclipseであり、そちらのほうで拡張される危険性もある。どっちにしろオープンにしたとたんにSunのコントロール下にはなくなってしまう可能性が非常に高い。


要するに、「MSはC#が自分のものじゃなくなっても構わないと思っている(WindowsとOfficeがあるから)」説もありなんだけど、ボクとしては「C#はオープンになってもMSのものでありつづける(Windowsが強いから)のでなんらMSの損にはならない」説なんだよね。だからもともとC#をオープンにして欲しいと思っている人は殆ど居なかったんじゃないかなぁ(もしたくさん居たんならごめんなさい)。