Pour rappel, Vala est un langage de programmation orienté objet dont la syntaxe ressemble beaucoup à celle de C#, mais adapté au système GObject utilisé par Gtk et GNOME.
Contrairement à C# le code n'est pas interprété par une machine virtuelle, c'est un langage compilé. Pour être plus précis, le compilateur génère de manière intermédiaire du "C", ce qui permet à un logiciel programmé en Vala d'utiliser facilement des bibliothèques en C, ou à l'inverse à une bibliothèque programmée dans un langage qui s'interface avec du "C", de faire appel à une bibliothèque programmée en Vala.
Dès le début ce nouveau langage apportait nativement des fonctionnalités très intéressantes comme :
- Les interfaces
- Les propriétés (spécifique aux GObjects)
- Les signaux (démocratisé par Qt)
- Les expressions Lambda
- Les classe génériques
- La gestion assistée de la mémoire
- La gestion des exceptions
Cette nouvelle mouture apporte deux grosses nouveautés :
- Les closures (version plus puissante des expressions Lambda)
- Les appels asynchrones
Plus d'informations dans la suite de la dépêche.