C++ユーザーからしてみれば、C#ではネイティブのスピードが失われることが問題だ。。
JAVAユーザーからしてみれば、信頼できるMS社製のLinux用.NET Frameworkがないことが問題だ。
これがC#が今ひとつ広まらない理由だ。
MS社は.NET FramworkとC#の前に、非Win環境のためにMFCを模したVMをつくるべきだったのではないか?
そしてVMにGCを搭載させる、多重継承など一部の機能を削るなどして、除所にC#仕様に近づけていく。
そしてVistaと共にC++とVBを廃止、同時にC#を発表すれば完璧だった。
C++とJAVAでは用途が違う。
C++はパッケージソフト、JAVAはサーバーサイドと住み分けが為されている。
現在のC#はVMという特性からC++よりもJAVAに近いが、MS社製のLinux用のVMが出ないので、JAVAを駆逐出来ないでいる。
そしてパッケージソフトの分野では今でもC++が主流である。
C++が望むC++の進化とはJAVAよりもD言語だ。
C++ユーザーにとってC#はむしろ退化である。
Winではネイティブ、LinuxではVM。
この両立を実現したとき、C#は最強言語になるだろう。