Vala (linguaggio di programmazione)
# Vala (linguaggio di programmazione)

Vala è un linguaggio di programmazione di alto livello, orientato ad oggetti. Il linguaggio è utilizzabile nelle distribuzioni GNU/Linux, ma esiste già un port per Windows. Esiste un dialetto del linguaggio in stile Python chiamato Genie.

## Caratteristiche

Vala ha una sintassi simile al C#, e include utili funzionalità di linguaggio come le funzioni anonime, i segnali, le proprietà, la gestione della memoria assistita, la gestione delle eccezioni, inferenza dei tipi, e le dichiarazioni foreach. Offre inoltre un compilatore self-hosting, con funzionalità di garbage collection.

I vantaggi del linguaggio sono la modernità e la velocità, i sorgenti infatti passano per un generatore di codice C utilizzando il sistema GObject, questo codice può essere rivisto e corretto manualmente, successivamente il codice viene poi compilato tramite GCC in modo tale che gli eseguibili siano supportati in modo nativo.

## Compilazione

I sorgenti vala hanno estensione .vala, e il compilatore è chiamato valac.

Per generare solo i sorgenti C e i rispettivi file header:

## Sintassi

La sintassi assomiglia a quella di Java e C#.

### Commenti

Sono accettati i seguenti commenti:

La sintassi dei commenti di documentazione è

All'interno dei commenti di documentazione è possibile usare la sintassi XHTML, la sintassi Wiki, quella Gnome e quella Java.

## Tipi di dato

Vala supporta un set di tipi di dato simile agli altri linguaggi.

Utilizzo:

## Esempi

### Hello world

Con classe GObject:

Senza classe GObject:

### Gtk

Altri esempi GTK a https://live.gnome.org/Vala/GTKSample.

## IDE

Ci sono diversi IDE con integrato il supporto per la programmazione in Vala:

* Geany
* Val(a)IDE
* MonoDevelop
* Vala Toys (plugin per gedit)
* Valencia (plugin per gedit)
* Anjuta
* NetBeans
* TextMate
* RedCar
* Valama
* GNOME Builder
