Vala is a C# like language compiler that translate the source code into C. It’s intended to provide a higher level language to GLib/GObject/Gtk+ and friends.
Today, in more or less one hour, I’ve been able to write a GtkMozEmbed binding for vala. Note that I haven’t write a binding ever in my life before and despite that, it’s been pretty straightforward.
I’ve also wrote a small app to show the browser, and there we go:
Vala goes online!
To get the source code of what I did, take a look at #463438‘s attachments.
My conclusion here is that vala is really close to become a serious option to write platform libraries and applications instead of C within the Desktop, you get the best of both worlds, a high level language, and the C (non VM) performance, portability and easy of bind from other languages, and since vala adds some explicit object semantic, write bindings from vala code could be even more straightforward.
Another problem that it potentially solves is the pain of reuse code from others, most people tend to no inherit in GObject since it involves lots of annoying copypaste, which drive us to better integration and a better reutilization of the code.
Congrats to Jürg Billeter for such a bold and simplified approach.
Oh, by the way, did I say that this approach is binding friendly already? 😉