Vala (programmeertaal)

Vala
Vala
Paradigma objectgeoriënteerd
imperatief
Verschenen 2006
Ontwikkeld door Jürg Billeter
Raffaele Sandrini
Huidige versie 0.57.0[1] Bewerken op Wikidata
11 april 2023
Typesysteem statisch typesysteem, sterke typering, type-inferentie, structurele typering
Beïnvloed door C, C++, C# en Java
Licentie LGPL 2.1+
Bestandsextensies vala, vapi
Website Gnome Projectpagina, Vala Projectpagina
Portaal  Portaalicoon   Informatica

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:

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 ();
	}
}
  • (en) Vala Projectpagina
  • (en) Vala, GNOME.org
  • (en) Documentatie van Vala