There is just such a vast amount of stuff out there on game programming in C++, tutorials, libraries, forums, etc... It is what I have done the vast majority of serious programming in, and what I have seen most serious stuff made with. I have nothing against C#, I think it is a viable language for game programming, mostly because of XNA, but python and java will only get you so far. Plus, you will never, "hit a wall" with C++, there is always room to make what you need to, at the speed you need it to go. That is, the speed should be limited by the power of the computer, not the power of the language.
I can tell someone new to programming to learn C++ because I did it as my first language, and I doubt I am smarter then the OP. As I said, it is really not that difficult to use at a beginner intermediate level, which would exclude stuff like pointer arithmetic. Learning pointers is important though, because when you learn how pointers work you are learning how memory works, and when you learn how memory works you are getting closer to understanding how the entire computer works, which is vital to programming well.
I'm not really against learning C# though, it's a fine language, but I still feel learning C++ first is better. I don't think it is too important what language you go for first anyway.