Le mieux est d'apprendre le C++ qui permet de porter sur les trois systèmes d'exploitations encore utilisés, qui est moins atroce d'utilisation que le Java mais nécessite un peu plus de temps à l'assimilation.
Si vous souhaitez vous spécialiser dans les technologies Microsoft, le C# est plus rapide et facile (tel le côté obscur), mais si c'est tout ce dont vous avez besoin, il est infiniment moins prise de tête que le C++ (même si j'assiste de temps en temps à certaines aberrations amusantes).