I'd definately say that C++ and C# are your best bet for game development. C++ is (arguably) faster if used correctly, and is the dominating language in AAA game development. With c++ it can be a bit easier to get into low-level stuff, however, c++ can be harder for beginners to start with. C# is more dominating in the indie field, since its easier (and faster to write) than C++ code, however, It might come at a performance decrease and its pretty Windows-specific. With c# going opensource (this is happening right?) and Mono, It's more cross platform than it was a few years ago. I'd say c# is still relatively a new language. It's pretty much down to preference and your goal in what language you want to choose (Do you want to be an optimization madman and have the fastest running raytracer? Try c++, Do you just want to make a fun game, Even if MIGHT be lower performance than it could be in c++ (or assembly, we all love assemly do we?), choose C#). If you really don't know yet, I'd suggest starting with C# to understand how programming works, then moving to c++. Doing c++ or an web language like php first would work too, Again, it's all down to preference.