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

Servizi correlati

Altre voci

M

Microsoft Edge

Microsoft Edge è un browser web sviluppato da Microsoft, disponibile su Windows, macOS, Linux, Android e iOS. È incluso come browser predefinito in Windows 10, Windows 11, Windows 10 Mobile, Xbox One e Xbox Series X e Series S

Leggi la voce →
G

Google Traduttore

Google Traduttore è un servizio di traduzione automatica multilingue sviluppato da Google LLC. Offre un'interfaccia web, app mobili per Android e iOS e un'API che aiuta gli sviluppatori a creare estensioni del browser e applicazioni software. Google Traduttore supporta oltre 100 lingue a vari…

Leggi la voce →
G

Google Play

Google Play, noto anche come Google Play Store (o più semplicemente Play Store) e precedentemente Android Market (o semplicemente Market), è un servizio di distribuzione digitale gestito e sviluppato da Google LLC. Serve come app store ufficiale, per il sistema operativo Android, consentendo…

Leggi la voce →
R

Rust (linguaggio di programmazione)

Rust è un linguaggio di programmazione compilato, multi-paradigma, a uso generale, sviluppato da Mozilla Research, in collaborazione con la comunità open source. Si pone l'obiettivo di essere un linguaggio efficiente, sicuro, e idoneo a sviluppare software di sistema concorrente. È progettato…

Leggi la voce →
D

D (linguaggio di programmazione)

D è un linguaggio di programmazione orientato agli oggetti creato da Walter Bright nel 2001.

Leggi la voce →
N

Nokia 3310

Il Nokia 3310 (pron.: trentatré-dieci) è un telefono cellulare annunciato il 1º settembre 2000 e prodotto dalla Nokia a partire da ottobre dello stesso anno. Lanciato con lo slogan «Connecting People» (in italiano: Connettere le persone), il modello 3310 è stato uno dei cellulari di maggior…

Leggi la voce →