nuova versione del compilatore per il linguaggio di programmazione . Il codice Vala viene traslato in un programma in C, che a sua volta viene compilato in un file binario ed eseguito con la velocità di un'applicazione compilata in codice oggetto per la piattaforma target. Vala è il linguaggio più utilizzato in GNOME dopo C (C, Vala, Python, C++), ed è anche il linguaggio principale in Elementary OS.
La sintassi del linguaggio Vala è molto simile a C# e implementa completamente un approccio orientato agli oggetti. Sono supportate l'introspezione, l'inferenza dei tipi, la gestione della memoria tramite l'inserimento automatico delle chiamate ai distruttori in fase di compilazione (ARC come in Swift), funzioni lambda, la concettualizzazione di segnali e slot simile a quella utilizzata in Qt, ma implementata a livello di linguaggio, tipi di stringa, programmazione generica, fette di array, l'operatore di enumerazione delle collezioni foreach, delegati, chiusure, interfacce, proprietà ed eccezioni.
I più evidenti :
- parola chiave per la sintassi . All'interno di with è supportata la creazione di variabili locali:
with (var x = y ())
Chiamata a funzioni che restituiscono un valore:
with (y ())
Collegamento dei segnali, rigoroso modalità e chiamata ai nuovi «with» in modo ricorsivo.
- Le sezioni — ora la presenza di spazi vuoti viene considerata il primo o l'ultimo elemento della collezione.
array[begin:] => array[begin:array.length-1]
array[:end] => array[0:end]
array[:] => array[0:array.length-1] - riscrittura di progetti C in Vala in parti (quando nel progetto ci saranno numerosi richiami di codice Vala da C e viceversa).
- segnali non virtuali con un corpo di funzione.
- ereditarietà dello spazio dei nomi discendente.
Fonte: opennet.ru
