I agree with Reedbeta - although I'm heavy fan of C, C++ and ASM (low level is good) and Haskell (high level also ). Don't drop python to trash - it's not that bad (especially for doing stuff in Gtk for example)...
Gtk and standard C (F.e. GNU99 standard) is well... quite a hell. And I mean it, really.
On the other hand PyGtk isn't that bad, it's used and works quite good. I'm not sure, but it's probably even more used than Gtk+ in C++.
It can't though compare with Gtk2HS - Haskell ftw! :ph34r: (warning. very high ninja skills needed). ... especially Gtk C version vs. GtkHS (where C version is kinda owned in lenght of code )
Every language has it's advantages and disadvatnages (and is better for something) - there is no "uber" solution (well... except for Haskell! :ph34r:). For game development, you can use actually almost any available language - standard C, Pascal (e.g. strictly procedural languages - and do lots of stuff through pointers); C++, Object-Pascal (e.g. object-oriented AND procedural languages - very good thing to work with - you have all the power C has, plus something more); Java, C# (e.g. strictly object-oriented (with lots of extensions) and managed code - also very usable); or even some "ninja languages" like Haskell is.
For example - we actually doesn't write our game + engine in single language (not that it would be impossible, but it's easier to do this in one language and to do that in another one).
For game engine core we're using C++ (GNU++11 (formerly GNU++0x) standard). For actual realtime ray-tracing core in engine we use native C - C99 std (CPU ray tracing) with SSE intrinsics heavy code and C - OpenCL/C99 std (GPU ray tracing). And this is just a core.
We now have game engine editors - e.g. the important stuff, where C# with Gtk (known as Gtk#) is a lot better tool than using C++ (and don't ever use Gtk and C - our first editor was actually writen in Gtk + C - and it WAS nightmare, compared to Gtk#).
Our game scripts can be done in LUA (C/C++ like scripting language) and we're also going to try Haskell on this (and that will own! - it's just for test & fun). The actual game is in our case written in C++ (but! it can actually be also written in C# - which we considered several times, but still we like C++ a bit more).
And at last - game & game engine configuration files - are written in bash-like syntax.
As you can see, we do lots of stuff in C-like languages, but not in single one... why to limit just for a single language, where there is so much of them?
NOTE: You don't want to see makefiles :lol:
EDIT: So actually we use lower-level languages, where speed is critical ... and higher-level languages where structure and understanding of code is critical (because 'one does not simply read & understand intrinsics code block on the first try').