If you plan on game programming, forget java and any language other than C++. C# is useful for Unity scripting, but the IDEs suck and to make it crossplatform it's all compiled into mono develop, which uses .net 2.0 aka circa 2003 .net tech.
Trust me on this one, I'm a AAA game dev and know every single major language including scripting, and C++ will continue to rule the industry for a long time. Unless of course, you want your CV to have stuff that nobody wants on it. C# is really nice for rapid prototyping but even MS doesn't use it for their own games, which should tell you something right there. You should learn to make your own C++ code cross-platform, that is a useful skill to have considering all the game platforms out there, every single one of which supports c++.
It also makes me chuckle a bit to try to optimise stat validation code, as if this is a performance oriented tool. Premature optimisation is the root of all evil. It is known. If anything, write your code to be modular so you can call the core of the logic from a wrapper, say, a C# or QT or Java front end, and keep the logic in the c++ dll. That is also a very handy skill to have. C++ might "suck" as you put it, but it's still the King, with 95% of the world's software using some variant of it. And the modern iterations have quite a number of very nice features. Once you get into STL and Boost things are a lot better. It's kind of funny talking about modulo arithmetic speed and then saying C++ sucks, trust me try building a AAA game in Java or C# or Python (shudders) and see how far you get.