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 ();
}
}
Externe links
Bronnen, noten en/of referenties