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+.
Vala | ||||
---|---|---|---|---|
Paradigma | objectgeoriënteerd imperatief | |||
Verschenen | 2006 | |||
Ontwikkeld door | Jürg Billeter Raffaele Sandrini | |||
Huidige versie | 0.57.0[1] 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 | |||
|
Overzicht
bewerkenDe 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
bewerkenEnkele taalconstructies van Vala zijn:
- Interfaces
- Properties
- Type-inferentie voor lokale variabelen
- Lambda-expressies
- Genericiteit
- Exception handling
- Geheugenbeheer (geassisteerd)
- Foreach
- Naamruimten
Voorbeelden
bewerkenEen 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
bewerken- (en) Vala Projectpagina
- (en) Vala, GNOME.org
- (en) Documentatie van Vala
- ↑ Release 0.57.0 (11 april 2023). Geraadpleegd op 4 mei 2023.