最近Rubyの勉強をしている都合上、
Rubyを賛美する発言が増えてますけど。

もともと私のネイティブプログラム言語はC#です。
総合的に見て、こちらのほうが大変素晴らしいと思っています。

とはいえ、誉めるとなると難しい言語でもあります。
いろいろとあちこち、素晴らしいところは多いんですけどね。
RubyとかSmalltalkのように、熱狂的に素晴らしいと賛美する一点がないような気がします。

はっきり言ってしまうと。
作っているところに大量の予算があって、
かつ作ることにより大きな利益が見込まれる、
というのがC#の最大の利点だといってしまっていいんじゃないでしょうか。

言語開発を含み、ソフトウェア開発というものは、
コストをかければかけるだけよいものができる、
という性質を持っています。

まあ、どれだけでもお金を無駄に使うことができるという性質もありますし、
また天才的なひらめきのようなものはコストでは補えないため、
コストをかけたものが、必ずいいものというわけではないですが。
お金を無駄に使わず、適切に使うことができたなら、
そのお金の分だけはよいものができます。

そしてMicrosoftは、適切に膨大な予算をつぎ込んでいます。
世界でトップクラスの人材を何人も雇い、
そのほかにも高レベルの人材を大量に使うことができます。
それらの人材を使い、
設計やユーザビリティ調査、品質テスト、そして実装などを、
徹底的に行うことができます。

その結果。
C#を使えば、
言語の文法、ライブラリ、IDEサポート、インストーラまで、
すべてにおいてよく考えられ、コストをいとわず作りこまれた環境で、
作業をすることができます。

言語の文法は野心的な機能も含め、ユーザビリティのよいものが揃えられています。
また、たとえばジェネリックの実相の時も、Javaなんかはライブラリの変更コストを考えて折衷案が採用されたようですが、C#はライブラリを作りなおしました。
IDEのサポートはきめ細かで、、かつたいていの環境ではワンクリックでインストールできます。

その一つ一つの要素においては、C#より良い面を持つ言語は、
世の中にはたくさんあるでしょう。
が、全体的に最も効率よく作業できる環境を一つ選ぶなら、
それはC#になると思います。