Friday, October 29, 2010

How I Learned to Stop Worrying and Love the Vala

When I first heard of Vala I was not impressed. A domain specific language? That seems like a dead-end; how would we every attract developers to the GNOME platform?

After a while of thinking about it I realised that GNOME already was in this position. GObject+C already is a domain specific language. New developers already have to learn GObject and finding developers who both are proficient and willing to use C can be a struggle.

Recently I have been working on more and more with Vala and porting applications from PyGTK/C to it. Before Vala, PyGTK had a lot of advantaged over C; now the main differences are easy debugging and fast development (Python) vs fast performance and type checking for easier maintenance (Vala).

So, my recommendation is if you have a desktop application that uses GObject APIs* and you are happy with debugging tools like gdb and valgrind then consider using Vala!

* I was working on porting LightDM to Vala but old system APIs were causing difficulty. If you have this case consider wrapping them in C+Gobject first and then interfacing to that.

LightDM UDS Session

If you're interesting in any of the following:

Then come along to my session at UDS. It's at 5:10pm EDT and you can join remotely by connecting with IRC to irc.ubuntu.com #ubuntu-uds-bonaire2 and listening in to the audio stream.

Everyone is welcome and I'm particularly interested in gathering requirements for derivative distributions.