Vala



Website: vala.dev


Vala este un limbaj de programare orientat pe obiecte, cu un compilator de auto-găzduit care generează cod C și folosește sistemul Gobject.

Vala este similară sintactică cu C# și include caracteristici notabile, cum ar fi funcții anonime, semnale, proprietăți, generice, gestionarea memoriei asistate, manipularea excepțiilor, inferența de tip și declarațiile Foreach.

Dezvoltatorii săi, Jürg Billeter și Raffaele Sandrini, au dorit să aducă aceste caracteristici în timpul de rulare Plain C, cu puțin aer și fără asistență specială de rulare, vizând sistemul de obiecte Gobject.

În loc să se compileze direct cu codul mașinii sau limbajul de asamblare, acesta se compilează la un limbaj intermediar de nivel inferior.

Sursa-sursă se compilează la C, care este apoi compilat cu un compilator C pentru o anumită platformă, cum ar fi GCC sau CLANG.Utilizarea funcționalității din bibliotecile de cod native necesită scrierea fișierelor VAPI, definirea interfețelor de bibliotecă.

Scrierea acestor definiții de interfață este bine documentată pentru bibliotecile C, mai ales atunci când se bazează pe GoBject.

Legăturile sunt deja disponibile pentru un număr mare de biblioteci, inclusiv pentru bibliotecile C care nu se bazează pe GoBject, cum ar fi SDL -ul Bibliotecii Multimedia, OpenGL, etc.