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.
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.
Byte: char, uchar;
Caratteri: unichar;
Interi: int, uint;
Interi lunghi: long, ulong;
Interi corti: short, ushort;
Altri interi int8, int16, int32, int64 e rispettivamente uint8, uint16, uint32, uint64;
Numeri in virgola mobile: float, double;
Booleani: bool;
Tipi strutturati: struct;
Enumeration: enum;
Utilizzo:
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
MCMX