Vala

Vala è un linguaggio di programmazione orientato a oggetti. La sintassi è molto simile a quella del linguaggio C# ma, a differenza di quest’ultimo, Vala non necessità di un ambiente di esecuzione come il CLR. Vala viene compilato in codice binario nativo, passando per il linguaggio C. Dunque il compilatore Vala è in realtà un transpilatore che compila il codice in linguaggio C e poi, usando un compilatore C, effettua la compilazione in linguaggio macchina. Tutte queste fasi sono trasparenti per il programmatore che vede il proprio codice Vala compilato in codice eseguibile. E’ possibile anche iterrompere la compilazione e visualizzare il codice C prodotto.

Il formato binario dei programma prodotti da Vala è, come ci si potrebbe aspettare, quello dei programmi C, con tutti i vantaggi che questo fatto comporta.

E’ possibile eseguire il codice compilato in ambiente di debug, utilizzando gdb. Si può qunque debuggare direttamente il codice Vala, senza la necessità di utilizzare il C.

Grazie a queste sue caratteristiche, Vala può utilizzare direttamente librerie di codice C, senza particolari adattamenti.

Il sistema di oggetti è basato su GObject, che implementa il conteggio di riferimenti. A diferenza di C, in Vala, non c’è bisogno della gestione manuale della memoria.

Abbiamo diversi livelli di corsi per Vala, a partire da quello per programmatori C# che hanno bisogno in tempi rapidi di imparare il Vala, fino a corsi più comprensivi che partono dalle basi di programmazione in Vala fino ai livelli più avanzati.