I think you are asking the wrong question. I think you should be asking CURRENT game developers what *THEY* are using and what their companies require them to use.
I would bet you will be surprised at how many say C++. Because game companies want to be able to package their games as executable programs (that is, ".exe" on Windows, for example) and they also want to be able to build for many different platforms. C# doesn't run (well) on anything except Windows. Java produces ".class" files, which then have to be executed by the Java runtime. C++ is much more universal and can produce executable code for most any platform.
So if you want to be a success at game development, you *MUST* learn the tools that the game companies use.
An optimist sees the glass as half full.
A pessimist sees the glass as half empty.
A realist drinks it no matter how much there is.