Vala este un limbaj de programare orientat obiect cu compilator cu autogăzduire care generează cod C și utilizează sistema GObject.

Vala e sintactic similară cu C# și include funcționalități notabile ca funcții anonime, signale, proprietăți, generice, gestionarea asistată a memoriei, tratarea excepțiilor, inferența tipurilor, și instrucțiunea foreach.

Exemple Salut Lume Un simplu program "Hello, World!" în Vala: void main () { print ("Hello World\n"); }

Așa cum se poate observa, spre deosebire de C sau C++, in Vala nu sunt fișiere antet. Legarea de librării se face prin specificarea parametrilor --pkg în timpul compilării. Mai mult ca atât, librăria GLib e tot timpul legată și spațiul său de numi poate fi omis (print e de fapt GLib.print).

Programarea orientată obiect Mai jos e o versiune mai complexă care definește o subclasă HelloWorld care moștenește de la clasa de bază GLib.Object, altfel scris ca clasa GObject . Exemplul arată unele funcționalități orientate obiect din Vala: class HelloWorld: Object { private uint year = 0;

public HelloWorld () {

public HelloWorld.with_year (int year) { if (year>0) this.year = year;

public void greeting () { if (year == 0) print ("Hello World\n"); else /* Strings prefixed with '@' are string templates. */ print (@"Hello World, $(this.year)\n");

void main (string[] args) { var helloworld = new HelloWorld.with_year (2021); helloworld.greeting (); }

Note

Vezi și

Shotwell, organizator de imagini scris pe Vala. Geary, un client email scris pe Vala. elementary OS, o distribuție Linux cu un spațiu de lucru Pantheon programat în mare parte în Vala. Budgie, un spațiu de lucru Linux programat în mare parte în Vala.

Legături externe

Documentația API Repozitorul Vala pe GitLabul · GNOME LibGee, o librarie cu utilite pentru Vala. Exemple de cod pe Vala pentru începători Listă de programe pe Vala Autovala, un program care automatizează și simplifică crearea de fișiere CMake și Meson pentru proiecte Vala/C Comunitatea Vala pe GitHub Akira - unealtă designer pentru Linux Kangaroo - unealtă client multiplatform pentru baze de date populare

Compararea cu alte limbaje Vala și Java Vala și C# Teste de performanță de limbaje diferite, inclusiv Vala

Categorie:Limbaje de programare