Das hat ja ideologische Züge hier.
Also wenn du wirklich vorhast längerfristig in die Richtung zu gehen, dann aufjeden Fall C++.
Warum? Gameengines leben von OOP. Und natürlich ist C++ industrieller Standard in der Branche. C ist jedoch - wie manche meinen - nicht veraltet. Die Programmierung mit OpenCL basiert z.b. auf C99. Allerdings ist das auch eher ne spezifische Anwendung. Also lern lieber C++ und wenn du für konkrete Dinge etwas in C brauchst, dann guck dir das in C an. Umgekehrt wäre der steinigere Weg.
Allerdings muss ich dich warnen, mit C++ hast du eigentlich kaum eine Chance, da großartig Geld mit verdienen, da die eigentlich betrachteten Probleme eher Informatiker, Mathematiker, Physiker usw. erfordern. Ausschließen kann man das natürlich nicht, bin über den Weg selbst kurz in der Branche aktiv gewesen, aber das is trotzdem eher die Ausnahme.
Python würd ich persönlich nicht empfehlen, lediglich eine gute Sprache um Programmieren zu unterrichten oder Probleme versuchen zu beschreiben bzw schnell eine Lösung zu finden. Also für den Anfang sicher auch nicht verkehrt, aber längerfristig gesehen, eher weniger geeignet. Java, naja, mag ich persönlich nicht, aber wenn du in die Mobilebranche willst (wo man als Laie/Quereinsteiger noch am ehesten Geld verdienen kann), sollte das die Wahl sein.
Die Grundkonzepte des Programmierens lernst du aber überall, auch wenn es in C/C++ evtl etwas schwieriger am Anfang sein wird.
Bzgl veraltet: Bei uns (Grundlagenforschung) arbeitet man auch noch mit Fortran, also im Grunde hat jede Sprache seine Daseinsberechtigung.
Ich weiß jetzt nicht wie alt du bist, aber ich hab damals mit 12 mit BlitzBasic/Blitz3D angefangen. Ist mittlerweile Freeware und man kommt sehr schnell, gerade im Spielebereich, zu brauchbaren Ergebnissen. Allerdings ist das hoffnungslos veraltet, kein OOP, basiert auf Dx7 (läuft aber nach wie vor auf neuen Systemen) und im professionellen Bereich wirst du damit eher ausgelacht
Aber je nachdem, was du vorhast vllt auch ein Blick wert.