Ich plädiere auch für C(++) - einfach, damit man einmal den ganzen Komplex um Pointer, Memory Management etc. an der Backe hatte, und weiß, was für welche Anwendung teuer ist.
Fängt man mit Java, Python etc. an fragt man sich maximal, was der Unterschied zwischen einer Liste und einem Array ist. Wenn einem da das Lehrskript nicht den Hintergrund zu liefert, weiß man nichtmal grob was der Unterschied ist und benutzt nach Lust und Laune was man will.
Ich habe mit C++ angefangen und es vom Uni-Prof reingekloppt bekommen (der an jeder zweiten Stelle "das ist potentiell ineffizient" gesagt hat und uns Folien wie die unten gezeigte um 8 Uhr morgens um die Ohren gehauen hat in der 4. Woche) und programmiere mittlerweile nur noch Python und ein bisschen C#. Aber das Wissen, was die Sprache im Hintergrund macht hilft mir enorm dabei, auf die Effizienz des Codes zu achten (auch wenn es nicht immer so einfach ist, das man bei Python nicht ordentlich bestimmten kann ob nun Call by Value oder Call by Reference verwendet wird nervt mich immer noch).
Daher empfehle ich auch den Einstieg über eine Low-Level Sprache, bei mir war es nur 1 Semester und dann noch 1 Semester Algorithmen und Datenstrukturen. Für den Anfang halte ich es aber für extrem wichtig, die Grundlagen direkt richtig mitzunehmen.
Besonders da der TE in Richtung Spiele gehen will, muss er sich eh später damit auseinandersetzen, denn in Java oder Python schreiben sich Spiele halt nicht so gut (Sprachen beliebter Engines wurden ja schon genannt). Daher gleich richtig anfangen, dann muss man nicht später gerade eingeübte Muster wieder umgewöhnen.
Und hier die versprochene Slide:

Und die große Frage: Was wird ausgegeben?