Wie Razer bereits sagte, jede Programmiersprache hat seine Schwächen und Stärken.
Ob X besser als Y ist, kann man nicht sagen. Man muss deutlich unterscheiden können zwischen Low Level, High Level, Interpreted, Compiled, Translated oder Service Provided.
Natürlich wird C# auf Windows besser abschneiden als Java. Die Common Language Runtime ist eben bereits im Kern des Betriebssystems von Microsoft implementiert. C# wird auch mächtiger als Java sein, auf einer von Microsoft bereitgestellten Plattform. Java aber dafür profitiert auf Apples Plattformen, Android OS, iOS, Linux Distros und viele weitere Non-Microsoft Produkte. Java hat eine schwäche auf Windows welche von C# ausgefüllt wird, Java zeigt seine wahre Stärke dafür auf anderen Plattformen.
Sun wollte damals nicht dass Microsoft Änderungen an Java vornimmt um die Nutzung auf Windows zu vereinfachen. Microsoft hätte gerne Java verwendet und gemeinsam mit Sun daran entwickelt, Sun war aber damit nicht einverstanden und somit entschloss sich Microsoft seine eigene High-Level Sprache, fokussiert auf Windows, zu entwickeln und damit als Gegenprodukt auf Windows Plattformen zu konkurrieren - Linux oder Mac Support war nie beabsichtigt.
Meine Lieblings sprachen sind C und Assembly C++ wurde mir uninteressant, weshalb weiß ich selbst nicht, Interesse verloren[pumpkin]