Re: API, not language
The problem is the nature of the Gnome API. The Gnome developers have created their own object model, and deeply embedded it into the design of the API. However, the Gnome developers didn't handle the Platform Independent Model vs. Platform Specific Model very well, so the Gnome API is very much in terms of the PSM of their object-oriented C implementation (the GObject system). This makes programming Gnome needlessly complex, as things the programmer shouldn't worry about (ownership model of objects, lifecycle of objects, polymorphism, interfaces) are NOT handled by the language, and must be handled by the programmer.
They attempted to resolve this by Vala - their home-brew language that was supposed to hide all of that (by generating C code implementing the OOC GObject PSM), but that hasn't taken off: it seems programmers have better things to do with their time than learn another language for a relatively small niche (and that niche is getting smaller every day, especially with decisions like this).
All of which makes me glad I decided to strip Gnome off my machines - the Gnome team has noticed they are approaching the event horizon, and have decide the best bet is to dive in as fast as possible.