Javaにしろ、C#にしろパフォーマンスの悪さはマルチプラットフォームという利点があってこそ許されるわけ。
だが、C#は裁判で負けたマイクロソフト製Javaと同様にWidnowsで作ったものは他のOSでは動作しない。
C#は許されないわけ。C#は欠点しかないわけ。
Windowsでしか動かないなら最初からC/C++で作るよって話。
Windowsとは別に他のOS用にもう一回、あるいはもう何回も同じプログラムを作り直すのはばかばかしい。
コンパイルし直したり、他のOS用の開発環境を構築する手間やデバッグしなおす手間も惜しい。
そういう場合にJavaは圧倒的有利。
C#はそれができないから無意味。
Windows向けにC#で作ったプログラムはFreeBSDでは動かないし、
FreeBSD向けにC#で作ったプログラムはWindowsでは動かなかったりする。
Windows向けにJavaで作ったプログラムは全てのデスクトップOSで動くのだ。
気づかないといけないのは、C#はWindowsでは確実に動くが、他のOSではまず起動すらしないことだ。