Naja wenn es darum geht, C++ mit Java zuvergleicher, dann würde ich mich sogar zu Java hinleiten lassen, denn mein letzter Java Stand war so, dass es eigentlich was zu bieten hatte, aber noch nicht komplett. Nichts desto trotz geht C# .Net über alles ^^ Und das läuft überall wo das .Net Framework läuft. Vollfunktionsfähig natürlich auf Windows, aber andere Systeme könnens angeblich auch schon relativ gut Emulieren.......
Nicht dein Eernst oder?
Da fällt mir nur eines ein:
Was der Bauer nicht kennt....
Java ist in meinen Augen C# weit überlegen, da es nativ auf ALLEN Systemen läuft. C# mag für Windows gut sein, emulieren wollte ich damit aber auf einem Linux oder Mac Produktivsystem sicher nicht, schon garnicht FÜR ein Linux oder Apple System. Emulatoren sind Krücken und rechtfertigen sich nur dadurch, dass sie zeigen, dass man etwas emulieren kann.
So macht es auch keinen Sinn, auf einem Linuxsystem (Produktivsystem) mit wine herum zu frickeln oder einen Visual-Basic Emulator zu basteln.
Ein Programmierer sollte eine Sprache auswählen, die für seine Zwecke tauglich ist. Eine Entscheidung dadurch zu begründen, dass man sich in der Sparche A wohlfühlt zeigt nur, dass man sich mit anderen Sprachen nicht beschäftigt hat, nicht in der Lage ist, die optimale Sprache für ein Projekt zu finden und dass man somit eigentlich nicht kompetent ist, eine Entscheidung zu fällen.
Programmierer sollten ohnehin meherere Sprachen können und Java gehört nun mal zu denen, die einen riesen Funktionsumfang haben, mit der man nahezu alles realisieren kann und wo man sich z.B. um sowas wie Speicherzuteilung/Freigabe nicht kümmern muss.
Ich bin übrigens auch kein Java-Fan, aber was Recht ist, muss Recht bleiben. Neben Java würde ich ausserdem zusätzlich Perl und Python empfehlen. Damit deckt man dann schon ziemlich alles ab, um etwas Ordentliches zustande zu bringen.
Wenn schon C, dann bitte eines, dass man auch auf anderen Systemen einsetzen kann als explizit auf Windows (Systemen mit der passenden Cli).
Einseitige Systemwerkzeuge und Programmiersprachen, die nur auf bestimmten Systemen laufen, sollte man als Programmierer wenn möglich vermeiden. Es ist in meinen Augen vermessen so zu tun, als ob Novell, Apple oder Linux nicht existieren.