Besser: was ist das für eine Schwachsinnsantwort?
Die Frage nach der richtigen Programmiersprache ist nicht unberechtigt. Auch Benchmarks und Entwicklungszeit unter Sprachen selbst sind nicht gerade unwichtig. Neulich hat ein Kollege von mir ein Programm zur Berechnung von doppelten Fakultäten in C programmiert - das Programm war vielleicht schnell, aber leider hatte es keine Unterstützung von BigInt-Typen, wodurch es zum Absturz kam sobald Int ausgereizt war. Ich hab ihm dann so ein Programm in C# geschrieben, dass - wenn mein Rechner nicht ewig brauchen würde - (20!)! berechnen könnte. Eben weil C# nativ über einen entsprechenden Typen verfügt. Was hat das mit dem Thread zu tun? Wer weiß, welche Sprache zu was in der Lage ist, kann wesentlich schneller und einfacher zum Ziel kommen. Ich hätte es auch in C++ schreiben können und eine BigInt-Klasse implementieren können; aber warum der Aufwand? Hunderte von Zeilen mehr schreiben für ein Programm was im Endeffekt nicht mehr können muss? Sinnlos.
Zur eigentlichen Frage:
Ich habe mich immer nur sporadisch mit Java beschäftigt. Irgendwie gefällt mir die Sprache nicht (keine Destruktoren, Klassennamenvergewaltigung für Namespaces, so weit vom System entfernt wie die Erde vom Mars, usw.). Aber spaßhalber habe ich vor nem Jahr oder so mal kleinere Benchmarks mit ein paar Sprachen gemacht (C++, Java, C#, PHP) um zu sehen, wie groß die Unterschiede tatsächlich sind. Das Ergebnis war wie zu erwarten: C++ ist am Schnellsten, danach war C# (soweit ich mich erinnern kann etwa 15% schneller als Java), dann Java und letztendlich PHP.
Das Ergebnis lässt sich auch einfach erklären:
C++ ist die einzig richtig kompilierte Sprache und wird als nativer Maschinencode ausgeführt. Da man keine virtuellen Runtime Environments braucht, sondern die CPU sich direkt mit der Ausführung beschäftigt, ist die Sprache am Schnellsten. Nachteil: C++ ist relativ schwierig zu lernen und erfordert ein hohes Maß an Frustrationstoleranz.
C# wird unter dem .NET Framework ausgeführt. Dieses wird regelmäßig von Microsoft geupdatet und somit kann man - selbst wenn die Sprache nicht kompiliert wird, sondern im Bytecode ausgeführt wird - entsprechende Geschwindigkeiten erwarten. Nachteil: ist halt eine "Windows-Sprache". Für andere Systeme bräuchte man Mono, und das ist leider nicht so verbreitet wie z.B. der Java-Interpreter. Aber wer hauptsächlich für Windows entwickeln möchte, macht mit C# sicher keinen Fehler. Man kommt sehr einfach ans System, ans Betriebssystem, hat immer noch eine recht brauchbare Menge von Bibliotheken und die Entwicklung von GUIs geht sehr schnell.
Bei Java fällt mir nur ein Zitat von "Java ist mehr als eine Insel" ein: der Autor hatte dort gesagt, dass Java sich mehr in einem "Wartungszustand" befindet und man eigentlich nicht mehr groß darauf hoffen würde, dass hier noch maßgebliche Änderungen kommen. Gefühlt kommen ohnehin nur Bugfixes für die zahlreichen Sicherheitslücken. Vermutlicherweise wäre Java unter Entwicklern nicht halb so beliebt, wenn Minecraft nicht wäre
Und PHP war wie zu erwarten so langsam wie ein Stein: komplett interpretierte Sprache, die Optimierung nur sehr bedingt zulässt (hatte testweise mal umfangreichere Benchmarks mit PHP gemacht; beispielsweise ist dort "Speichermanagement" (wenn man das überhaupt so nennen darf) zwar für den Speicher "gut", aber verringert die Ausführungszeit. Folge: sich um den Speicher gezielt zu kümmern ist vollkommen sinnlos, da der Interpreter nach seiner Arbeit ohnehin alles im RAM freigibt).
Meine persönliche Meinung zu C# vs. Java:
C# ist neben Objective C sicher einer der modernsten Programmiersprachen. Man kommt schnell zu seinen Ergebnissen und kann auch ohne Anwendung von dunkler Magie gute Ergebnisse erzielen. Man ist zwar zu OOP gezwungen, aber meiner Meinung nach, ist alles andere heutzutage ohnehin obsolet. Und: es ist, meinen Benchmarks zu Folge, schneller als Java. Vielleicht lag das an den Tests, vielleicht lag das an meiner Hardware - oder vielleicht lags daran, dass das .NET Framework einfach schneller ist als die JRE.