I thought the discussion on the Gnome developer list about C vs C# vs Python etc for writing desktop apps was very interesting. A lot of it could equally well apply to the KDE project.
One comment caught my eye:
In a way, yes - if we didn't have the original GNOME desktop and libraries
written in C we could have had so many language bindings in the first place? How
many language bindings exist for KDE that didn't first have to present a C API
to enable the binding...
See here
The answer is that there are no KDE bindings that have to present a C api, and the ease of writing C vs C++ bindings for OO languages is something of a myth. Instead we a have a single autogenerated library 'Smoke' which can be used for Perl, Ruby, C#, PHP and others. In turn the Kimono C# binding will enable CLR languages such as Iron Python, Nermerle etc with no extra work.

.
The Core Framework
The Core Framework of any platform has to be written in ONE language. It is really kind of mandatory. Think about it...
If GNOME decided to allow Mono code in it's CORE FRAMEWORK, then how would you create a Ruby application using the CORE FRAMEWORK...? Here I am, writing my little Ruby gnome app and using the gnome framework when I come across a widget/class/method that is implemented in Mono code... Oh no! Does there exist Ruby bindings for Mono code? Nope?
You can't have endless bindings. I know, I know, that is what Mono was supposed to solve by having every .Net language compile to the CLR, but here is the problem:
The set of .Net languages != The set of all languages that Open Source programmers would like to use.
************
Now, about the relative workability of wrapping C VS C++... Richard is right. People just assume that wrapping C is easier since C is an easier language, but they forget that the GNOME bindings to object-oriented languages need to completely change the API in order to work. Despite GObject, C does not have object-oriented design built in like C# and Java do and this requires all kinds of horseplay to get the GObject C code to fit in the peg hole of a true object-oriented language like Java or C#.
Cheers.