Traditionnellement, la réponse est C++ et même les navigateurs actuels et des jeux de titres AAA (plusieurs millions de $$ ceux des grands fabricants de jeux) sont les plus susceptibles vont être en C++
La raison est la plupart du temps un mélange de raisons historiques et de performance.
Pour les navigateurs, si vous n'avez pas travaillé et que vous ne comprenez pas comment ceux qui existent déjà, ce n'est pas quelque chose que vous voulez résoudre. C# avec le framework XNA est un bon point de départ pour commencer à créer des jeux (2D ou 3D) et il y a beaucoup de tutoriels là-bas.
En général, si vous ciblez principalement Windows, C# est probablement votre meilleur pari pour le moment. Il y a Mono qui vous permettra d'exécuter vos programmes C# sous Linux et OSX tant que vous n'utilisez pas de fonctionnalités spécifiques à Windows (ou avez un moyen de les exclure ou de retomber sur autre chose)
% de cas, vous serez satisfait de la langue que vous souhaitez développer, car la plupart d'entre eux ont un support sur les 3 plates-formes principales. Lorsque vous obtenez plus d'expérience dans différentes langues, vous pouvez commencer à porter des jugements sur ce qui est le plus approprié pour votre projet spécifique, mais lorsque vous débutez, la chose la plus importante est d'apprendre à faire fonctionner quelque chose.
La plupart des applications que vous mentionnez sont écrites en C++ – jcoder