2006年を振り返る (3)

そういえば,昨年 Visual C++ MVP の Richard Grimes 氏が,自身のサイトで「Microsoft は .NET に信頼をおいていない」という文章を公開し,大きな議論を巻き起こしました.氏は,配布された Longhorn ベータ版に含まれる実行可能ファイルの個数に注目し,何個のバイナリがマネージ・コードで書かれているかを調べました.その結果,ほとんどの実行ファイルは従来通りのアンマネージ・コードで書かれており,Microsoft は .NET に自社の将来を賭けていない,と結論付けました.
その後,新しいベータが公開されるたびに調査結果もアップデートされていましたが,ある時からぱたりと更新が止まり,内容も取り下げられました.どうしたのかなと思っていたら,同じ URL で再公開された記事にて,その事情と Vista RC-2 での調査結果が公表されていました.Vista RC-2 では,4% の実行形式ファイルが .NET で書かれていたそうです.また,公開を中止していた理由として,Microsoft のある PM の「アドバイス」を挙げています.そして,再公開に踏み切った理由もまたその「約束の不履行」にあったそうです.

Additional Comments

What happened to the previous version of this page? The first version of this page contained the results of the number of managed files on each version of Longhorn/Vista released by Microsoft and I compared these figures with the values I obtained from the PDC 2003 version of Longhorn. Each time I expressed my disappointment that Microsoft was not doing enough with .NET. Eventually I came to the conclusion that Microsoft had no intention of living up to the promises that they had made at the 2003 PDC.

That page got quite a lot of attention from the rumour mongers at slashdot, and that then got the attention of various project managers at Microsoft. I started to get 'advice' from Microsoft, some advice was more useful than others. One project manager exclaimed that he would not include me on any more betas. I thought that this was very odd and was a misplaced sentiment. My intention was always to make Vista and .NET better and I have never released NDA material. I personally know of several beta testers (and pre-beta testers) who have released NDA material, but Microsoft still continue to invite them to beta test software. The only conclusion that I could draw from those comments was that if you want to be a beta tester for Microsoft you must not be critical, however constructive, about their software.

Then I was offered a way out by another project manager. He offered a carrot-and-stick approach. The stick was clear, if I didn't take down that page, he told me, my likelihood of doing any work for Microsoft would be slim. No work giving conference talks, no consultancy, no writing; I would be unlikely to be invited to test any more betas. And, of course, it was unlikely that I would be awarded MVP in the future. The carrot was that if I took down the page I would be asked to write some white papers for Microsoft. Well, I took down the page, but I still suffered the stick. And the carrot? It did not appear, my emails to the project manager who made the offer have not been answered. So this is why I have posted this page here again.

今年は MVP Summit が開催されなかったこともあって,各所にこういった不満が溜まっていそうです.来年 3 月の Summit は,ガス抜きも兼ねてざっくばらんに楽しくやれるといいですね.
もっとも,モヒカン族っぽいことも書いておけば,ファイルの個数の比較にはたしてどれほどの意味があるのかはかなり疑問です.もちろん,氏はそれを考えるのは「読者の仕事だ」とはっきり述べられています.

Put this another way: 3.7% of the executable files (excluding the framework files) in Vista RC2 Ultimate are managed, therefore, Vista is less than 4% managed. Note that I am using the number of executable files since it is easier to measure than the number of publicly available API methods.

I will let readers draw their own conclusions from this figure.

タイトルだけに脊髄反射する "rumour mongers" *1 や,ソースコードの価値を行数ではかるような背広組でないのなら,この記事は最後まで読んで自分で考えるべきものでしょう.
実のところ,ここ数年で,Microsoft はかなりの量のマネージ・コードを書いたと聞いています.XNA の解説記事を書くために XNA Framework の奥底に潜っていても,ここ数年で Microsoft 発の『.NET 製品』の .NET マニア度が急激に上昇してきているのを感じました.が,それは「これからは .NET の時代だ」楽しそうに語るものではなく,案外実現してみれば「結局どう転んでも以前と同じようにコードを書く毎日なんだがね」,という程度のものなのかもしれません.結局は,自分の結論は自分で出せということなのでしょう.

*1:例えば約 5 MB 以上ある %WINDIR%\system32\xpsp2res.dll がヘッダ部分のスタブコード以外,まったく実行コードを含んでいないことを彼らのうち何人が知っているでしょうか?