{{tag>programmation compilation}}
----
====== Vala : Un langage de programmation pour GNOME ======
**Vala** est un nouveau langage de programmation (2006) qui propose des fonctionnalités modernes sans nécessiter l'installation d'un environnement d'exécution ou d'un interpréteur.
La syntaxe de Vala est proche de celle du C#. À la différence de ce dernier, Vala n'est pas exécuté dans un environnement d'exécution mais transformé en code C puis compilé en code machine par un compilateur C standard (comme [[GCC]] par exemple).
Vala est basé sur le modèle [[wp>GObject]]**(en)** et est donc particulièrement bien adapté, mais sans s'y limiter, à la programmation pour [[GNOME]], qui lui-même l'utilise.
===== Installation du compilateur (valac) =====
====Via les dépôts officiels====
Il vous suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>valac]]**.
====Via le PPA====
[[ppa|Ajoutez à vos sources de logiciels le PPA]] suivant : [[https://launchpad.net/~vala-team/+archive/ppa|ppa:vala-team/ppa]] , rechargez la liste des paquets, puis [[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt://vala|vala]]**
===== Utilisation du compilateur =====
Le compilateur Vala s'utilise comme la plupart des compilateurs directement en ligne de commande ou par le biais d'un [[wpfr>Environnement de développement intégré|EDI]].
La commande basique pour compiler un programme en Vala est la suivante :
valac source.vala -o executable
Il est bien-sûr possible de fournir plusieurs fichiers sources Vala pour générer un exécutable. Pour lier une bibliothèque, on utilisera l'option ''%%--pkg%% '', par exemple pour compiler un programme utilisant [[wpfr>GTK+]] :
valac --pkg gtk+-3.0 gtk-hello.vala
Pour plus de détails, référez-vous à la [[:man|page de manuel]] de **valac**.
===== Exemple de code (sans dépendence à GTK) =====
Voici un exemple de [[wpfr>Hello World]] en Vala :
using GLib;
class Sample : Object {
void run () {
stdout.printf ("Hello World\n");
}
static int main (string[] args) {
var sample = new Sample ();
sample.run ();
return 0;
}
}
===== Liens externes =====
* **(en)** [[https://wiki.gnome.org/Projects/Vala|Site officiel de Vala]]
* **(fr)** [[wpfr>Vala (langage de programmation)|Vala sur Wikipedia]]
----
//Contributeurs : [[utilisateurs:Dradge|Dradge]], [[utilisateurs:Ban]], [[utilisateurs:Kriegy|Kriegy]] //