2010年9月10日金曜日

.Net はバラ色か?

 開発ツールを巡って、COM はダメで .Net ならOKとかいう話を聞いたので、不思議に思って調べてみた。
.Netからのコンポーネント呼び出し
以下、引用
そして、さまざまな言語研究者の勧めに従って、コードをコンポーネント化していました。つまり、COM (以前の ActiveX) サーバーとして、アプリケーションを呼び出し可能な機能の集まりとして分割しています。もちろん、他の開発者や企業から、ActiveX コントロールなどのコンポーネントを大量に購入している場合もあるでしょう。

そのような状況で、まったく別のオペレーティング システムに切り替えるという極端な決定を下すとどうなるでしょうか? その時点で、COM に対して行ってきた投資はすべて無価値になります。既存のコードを使用することはできず、新しいプラットフォームをゼロから学ばなくてはなりません。開発者の生産性が大きな打撃を受けるのは間違いないでしょう。
このシナリオは矛盾している。つまり、Windows から、Windows でないOSへの移行が、.Net で書かれていれば無駄にならないというものだ。そもそも、バルマー氏になってから、Mono への投資も下火になったのではなかったか?.Net のAPIって、Windows から完全に分離されているのか? DirectX 系を使う場合は、相変わらず COM ベースじゃねぇのか?低レベル(ハードウェアに近い事)な事をやるには、ネイティブ呼び出しをせんとパフォーマンス出ねーんじゃねぇの?とは言え、Yaneさんは.Net系でゲームを移植されているみたいなので、実質そうなのかもしれない。
 .Net って、Windows 縛りではない???ここがよくわからない。
 この考え方だと、C++ ネイティブによるコードが Windows 不遇の待遇を受けているのもよくわかる。システム・サービスやウェブ系サービスを書こうと思っても、新しい Visual Studio では軒並み C# 使え光線が出まくりで、C++ネイティブは排除されているからだ。

0 件のコメント: