C++ is still the fastest thing around, and in the games industry, is still very heavily used. C# has a place, but until it gets faster, it won't be dominant. And I already mentioned that they don't use assembly. My point is that knowing it makes you a better programmer because it teaches you how the hardware does things, which can allow for you to write better code. Regardless of what is used, it's still good to understand the basics.
C# is slower because it's an incredibly high-level programming language, which is a good thing every way you reasonably look at it.
Honestly, if they make C++ look and feel more like C#, which should be doable, I think a lot of the complaints about C++ being a pain in the ass would go away. Honestly, I do prefer C# because it is incredibly easy to use, and has a number of really nice tools. If it allowed the programmer to manage the memory, it would probably have everything it needed. It's a shame, really.
I honestly recommend learning a scripting language first. I perfer Ruby, but Python is an easy learn and teaches you how to think like a programmer without confusing syntaxical rules and errors.
Then a big point of C# would go away, lol. Also, there is actually a way to manipulate memory directly in C#, but it requires the /unsafe flag.
Otherwise, Java is a good start.