Смысл шарпа вообще не ясен. Заставляет таскать с собой громоздкий фреймворк, при этом не предоставляя основой и главной фичи java и jre - кроссплатформенности, и отсутствия необходимости в перекомпиляции под платформу. А при этом к тому же еще и производительность страдает. Java лучше.
По истории срачей между M$ и Sun можно
тут почитать про J# и C#. Про блэкджек уже сказали выше.
Там все равно полноценной поддержки майкрософтовских технологий нет, компанию его разрабатывающую вообще продали недавно и под никсами он не нужен. Те кто C# любят пусть кодят под винду.