Actually my point was that the existence of Vala is an indication that
Gnome at least has deeper ties to Mono and C# than for example to Qt and
C++ for some non-technical reason which is not obvious to me.
My issues with C code generation are that (a) the generated code basically
becomes unreadable by mere mortals, so using vala parts in C projects (and
vince versa) is much harder than necessary (b) what happens if the
underlying C libraries (gtk, say) change their interfaces or even just the
semantics? Then the vala to c translator always produces incorrect code
which you can only fix by hacking the translator. this problem won't occur
if the toolkit is used directly from within the language it is written in.
(c) it takes away the strengths of C (i.e. ability for low level
programming, bindings to just about any library imaginable) without adding
much which C++ doesn't offer and finally (d) to my knowledge it is very
difficult to use debuggers such as gdb using vala's aproach since you
would have to wade through the generated C code (on the other hand real
programmers don't need debuggers anyway ;).
On the Qt/C++ side of the fence there has been (semi) automatic memory
management by means of the Q*Pointer and various Container classes for an
eternity (read: Qt 2.0), it has a nice foreach statement since 4.2 (IIRC),
always had a very nice event notification mechanism and so on. Also you
can use any C or C++ library out there without too much of a hassle. For
all these reasons vala seems to be redundant from a technology perspective