Je parlerai ici de langage compilé, pas de langage de script, pour la simple raison que des langages de scripts, j'en connais qu'un seul, c'est Matlab (et ça sert dans un logiciel payant, Matlab, pour faire des simulations mathématiques, physiques, etc... donc ça compte pas vraiment ^^)
Si j'étais un prof' de piano un peu strict, je dirai qu'il faut faire des gammes avant de jouer des morceaux. En gardant cette logique, je privilégierai le C. C'est vraiment le langage "pour faire ses gammes", il est très formateur dans la mesure où il est plutôt rigide et il "force" un peu à avoir des bons réflexes, des bons automatismes, en programmation. Tu peux aller relativement loin avec, avec les bonnes bibliothèques (une bibliothèque, c'est un ensemble de fonctions pré-codées qui permettent de faire des trucs pas trop difficilement, par exemple gérer une interface graphique, du son, ou simplement rajouter des formules mathématiques comme le cosinus et le sinus si tu en as besoin). Je te redirige vers cette
[présentation du C] si tu veux en savoir plus. D'un autre côté, il est moins utilisé pour les "vrais" projets aujourd'hui, parce qu'il lui manque un outil très apprécié : la programmation "orienté objet".
Pour schématiser, c'est une manière de penser la programmation où, quand tu crées quelque chose (une fenêtre, un bouton à cliquer, un curseur de souris, un compteur de vies, une hitbox...), tu définis une sorte de "moule" (on dit une "classe")commun, qui possèdes certaines caractéristiques, et tes objets sont des morceaux sortants de ton moule, qui possède toutes ses caractéristiques. Un truc pratique, c'est la parenté, je vais tenter de l'expliquer par un exemple :
J'ai un ouvrier, c'est un humain, et un être vivant. Tu pourrais avoir une classe "être vivant", possédant une sous-classe "humain", possédant elle-même une sous-classe "ouvrier". Ainsi, un "ouvrier" possède aussi les caractéristiques d'un humain, et un humain celles d'un être vivant (logique !).
Revenons à nos boutons, sur les langages de programmation. Tu peux commencer par le C, et ensuite tu peux te lancer dans le C++, qui est une variante du C qui possède cet aspect "orienté objet" (ainsi que plein de trucs cools). Y'a plein de trucs faits en C++, c'est un langage courant avec lequel on peut mener plein de projets sympas. Y'a notamment des tas de bibliothèques qui existent pour gérer la 3D, le son, les manettes... un peu mieux qu'en C. Peut-être que tu utilises QCMA, eh bien il est fait en C++ avec une bibliothèque pour gérer tout ce qui est graphique, qui s'appelle Qt (enfin, c'est une méga-giga-énorme bibliothèque qui fait pas que du graphique xD).
[présentation du C++]Un autre choix, ça peut être le Java, c'est un langage très très "orienté objet". Je l'ai un peu présenté plus haut. Comme le Java est un peu plus haut niveau, on peut avoir l'impression de faire beaucoup de choses compliquées dès le début, donc ça peut être très gratifiant. A toi de voir. (moi j'aime pas le Java :p )
[présentation du Java]Y'a aussi un langage dont j'ai peu entendu parler globalement, mais TOUS les étudiants de l'école où je suis en font et le trouvent super cool, c'est l'OCaml. Visiblement, c'est un super langage pour l'apprentissage, et on peut faire plein de choses gratifiantes avec, mais j'en sais pas vraiment plus. Ensuite, c'est possiblement parce que l'Inria (l'organisme qui est plus ou moins associé au département informatique à l'école, et qui fait partie du CNRS côté informatique) est l'organisme qui maintient l'OCaml aujourd'hui.
Si c'est pour du jeu vidéo (sous Windows principalement, mais pas que, je crois que le portage Linux est faisable pas trop difficilement), XNA est un bon candidat. C'est avec lui (enfin, le XNA Framework) que BEAUCOUP de jeux Windows et Xbox sont faits, par exemple Dust : An Elysian Tail, Bastion, They Bleed Pixels, ...
[présentation de XNA]J'en profite pour évoquer un point particulier : tu pourrais avoir envie de programmer des petits trucs sympas sur, disons, ta PSP, ou sur ta PS Vita (que ça soit avec Rejuvenate ou avec l'ému PSP dedans) ! Le C et le C++ sont des langages de choix pour la PSP et la PS Vita, parce qu'ils sont très utilisés par les créateurs de homebrews (donc bien documentés), tu pourras en plus trouver de l'aide et t'auras le luxe de faire des trucs que tu pourras transporter avec toi

Tu peux aussi te lancer dans du Lua (là encore, pour l'ePSP ou Rejuvenate, y'a un Lua Player qui est sorti récemment). Alors, du Lua, j'en ai fait dans le Nspire Lua, et c'est de la programmation évènementielle, donc c'est absolument différent de tout ce que j'ai pu voir (en gros, au lieu que ton programme s'exécute de haut en bas, t'as des bouts de programme qui sont appelés par des évènements : un clic, une pression de touche, le besoin de raffraichir l'écran parce que des trucs graphiques ont changé, etc...). Si le Lua est aussi de la programmation évènementielle sur PSP / PS Vita, je ne te conseille pas de te lancer dedans en premier, c'est super perturbant.
Un petit mot sur la programmation pour smartphones :
Pour iOS, je m'y connais mal, mais je crois que c'est de l'Objective-C (langage inspiré de son auguste grand-père le C). Y'a moyen de faire des trucs sympas, mais je sais pas comment on fait pour tester sur ces environnements fermés que sont les iPhones. J'y connais pas grand-chose.
Pour Android, tu peux mettre les mains dans le cambouis, il te faudra savoir BIEN manipuler Java principalement, et aussi le MySQL (un langage de programmation fait pour gérer les bases de données du même nom).
Pour Windows Phone, je ne sais pas trop, mais je pense qu'on peut faire pas mal de choses avec du .Net (se lit "dot net") et du C# (se lit C-Sharp). Ce sont des langages plutôt haut niveau, et qui sont aussi utilisables dans Windows. Note qu'une application Windows Phone pourra éventuellement exister sous Windows 10 en tant qu'app

Et si tu es un grand malade utilisant un BlackBerry OS 10, les apps sont codées principalement en C++, mais t'as d'autres choix... y compris celui de faire une app Android que tu lances sur ton BlackBerry !
Et sinon, sur smartphones généralement, tu peux programmer des trucs en HTML/CSS/JavaScript, y'avait un truc qui permettait de déployer super facilement une application en HTML/CSS/JavaScript vers Android, iOS et Windows Phone en un clic... je me souviens plus du nom :p
En revanche, d'après ce que j'ai pu voir du JavaScript, je ne te conseille pas de te lancer dedans pour débuter, c'est un peu le bordel et niveau formation, je préfère t'orienter vers un truc un peu plus encadré comme les langages cités plus haut.
Voilà, évidemment y'a des centaines d'autres langages, j'ai essayé de t'en nommer quelques uns. Tu peux aussi regarder simplement si la syntaxe te plait, si les possibilités te plaisent aussi, pour faire ton choix. Au début, t'as pas vraiment de mauvais choix si tu prends un langage populaire (et bien sûr tout dépend de ce que tu veux faire, va pas programmer un lecteur de musiques avec XNA c'est pas adapté xD). Je suis pas un grand manitou là dedans, loin de là, donc j'espère que d'autres pourront apporter leur avis aussi ! Par contre, tout le monde sera d'accord pour dire que, en français, OpenClassroom reste la référence en matière d'apprentissage de programmation ! Mais on n'y trouve pas tout, notamment pas de Lua et d'OCaml, ça, il va falloit chercher par toi même.