There's isn't a best one. Which one is right for you depends on what you want to do.
If you want to make games on a mobile platform, you'll probably want to do it in the languages best suited for the platform (Java/C++ for Android, Objective C for iOS, and C# (I think) for Windows Phones, etc.).
If you want to do 3D games on PC, it depends on how low level you want to go. If you want to control the entire graphics engine, you'll probably want to use DirectX or OpenGL, both of which have bindings for various languages, but your best bet for these is C++ (as well as C# for DirectX), and then maybe a scripting language on top of that (e.g. Python, Lua). If you want to use an existing engine, then use whatever the engine uses, for example
Unreal Development Kit[
^] uses it's own language, Unreal Script.
If you're looking to quickly throw together some little 2D games, Python +
Pygame[
^] is a good choice.
Basically, decide first what kind of game it is, what platform you want to put it on, and what technologies you want to use, then decide the language based on that. Starting with the language probably isn't the best idea.