Vala (programmeertaal)
Vala is een programmeertaal gericht op de GObject-bibliotheek voor het ontwikkelen van applicaties voor GNOME met moderne taalconstructies. De syntaxis van Vala is geïnspireerd door C#. Vala wordt ontwikkeld door Jürg Billeter en Raffaele Sandrini. Vala is beschikbaar onder de GNU Lesser General Public License (LGPL) 2.1+.

Overzicht 
De compiler van Vala converteert Vala-code naar C-bestanden en headerbestanden die gebruikt kunnen worden in andere applicaties of als zelfstandige applicatie. Hierdoor worden er geen nieuwe afhankelijkheden geïntroduceerd voor het uitvoeren van het programma. De compiler van Vala is ook geschreven in Vala.

Code geschreven in Vala kan ook gebruikmaken van bibliotheken in C (zoals GTK+) met behulp van (gegenereerde) bindings in .vapi-bestanden. In deze bestanden staat de publieke API van een bibliotheek vermeld waardoor de code aangeroepen kan worden vanuit Vala. Voor Vala is er ook de libgee-bibliotheek (Gee) met enkele bekende container-datastructuren, zoals ArrayList en HashMap.

Kenmerken 
Enkele taalconstructies van Vala zijn:

 Interfaces
 Properties
 Type-inferentie voor lokale variabelen
 Lambda-expressies
 Genericiteit
 Exception handling
 Geheugenbeheer (geassisteerd)
 Foreach
 Naamruimten

Voorbeelden
Een Hello World-computerprogramma in Vala:

void main () {
    print ("Hello World\n");
}

Het volgende voorbeeld toont enkele objectgeoriënteerde taalconstructies:

class Sample : Object {
	void run () {
		stdout.printf ("Hello World\n");
	}

	static void main (string[] args) {
		var sample = new Sample ();
		sample.run ();
	}
}

Externe links 
 Vala Projectpagina
 Vala, GNOME.org
 Documentatie van Vala

GNOME
Objectgeoriënteerde programmeertaal
Programmeertaal