だからさー、何で.NETがJavaに対抗しなきゃならないの?

.NETにとって一番重要なことは、既存のMS技術を「徐々に」リプレースしていくこと。
まずは既存のWindows使いにきちんと説得することの方が先。

COMコンポーネントより.NETコンポーネントはどこが優れているか
DCOMではなく.NET Remotingを使うことのメリットは何か
MFCのフレームワークと比べて、.NET Frameworkはどのような機能を提供するか
ASPよりASP.NETはどこが優れているか
ADOよりADO.NETはどこが優れているか
...

.NETで議論すべきはまずこういうことじゃないのか?
Javaにどう対抗していくかなんてずっと後のことだろ。