Изначально разработка ведется на языке Си, на котором при помощи многих абстракций и соглашений реализуется GLib — полноценная объектная модель, которой в Си никогда не было. Код приложений, использующих GLib, выглядит очень своеобразно и совсем не похож на то, к чему привыкли разработчики большинства популярных GUI-библиотек. Кроме того, сам язык не располагает к разработке программ с графическим интерфейсом в виду своей низкоуровневости.
В итоге, разработчик для Gnome имеет несколько обходных путей. Первый — писать на Qt и надеяться, что приложение не будет выглядеть инородно на фоне остальных. Второй — использовать скриптовые языки, у которых есть привязки к Gtk. А таких существует достаточно: Python, Ruby, Lua, Lisp, Perl и даже PHP. Третий — писать на Java. У всех этих решений есть очевидные плюсы — удобство и сокращение времени разработки. Но есть и минусы. В первую очередь, это скорость исполнения, которая заметно ниже у скриптовых языков, по сравнению с Си. Скорость запуска программы тоже страдает.
...
Нужно было простое и элегантное решение, и оно появилось. Как вы уже догадались, имя ему — Vala.