Home » Blog » Programmation » Bonjour le monde Vala !

Bonjour le monde Vala !

Posté dans : Programmation 5

Petite nouveauté sur le site elementaryos-fr.org, nous inaugurons une série d’articles liés à la programmation, plus particulièrement au langage vala qui est utilisé sur votre OS favori nommé Elementary OS.. C’est Breizhodrome, nouvel arrivé dans l’équipe qui s’occupera de ces articles.

Avant de rentrer dans le vif du sujet, et pour ceux qui ne connaissent pas Vala, voici une courte introduction issue de Wikipedia.fr :

Vala est un langage de programmation compilé, dont l’objectif est de fournir les bénéfices des langages de programmation modernes (comme la POO) aux développeurs de la plateforme GNOME qui utilisent GLib et son système GObject.

Sa syntaxe est basée sur celle de C# mais il ne nécessite pas d’environnement d’exécution. Vala est transformé en code C, lui-même compilé en code machine natif. Les avantages d’une telle chaîne de compilation sont de produire des logiciels qui requièrent moins de mémoire vive et qui s’exécutent plus rapidement.

De plus, ce passage par l’étape C rend possible l’utilisation des bibliothèques C au moyen d’interfaces définies dans les fichiers Vapi. Des fichiers Vapi sont fournis avec Vala pour une grande partie de la plateforme GNOME, ainsi que pour d’autres bibliothèques.

Par exemple, le logiciel Shotwell, GNOME Contacts1 ou le greffon Arte+7 pour Totem2 sont écrits en Vala.

[st_break_line]

 

Néanmoins, avant de se lancer dans la compilation de programme Vala, il est important d’installer un compilateur en l’occurence valac. Pour cela, il faudra passer par votre terminal favori :

sudo apt-get install valac-0.22

Une fois cette courte étape réalisée, c’est parti pour les explications, bonne lecture !

[st_break_line]

Tout d’abord, qu’est ce que le langage Vala ? Si vous ne le savez pas encore c’est la base de la plupart des applications d’elementary OS. Sa syntaxe est proche du C#.
Valac, son compilateur, traduit tout d’abord votre code en langage C, interprétable par le compilateur gcc qui le traduira en binaire (01) pour la machine.
Tout programme Vala se doit d’avoir une fonction principale d’entrée « main », qui peut s’écrire sous plusieurs formes :

public static void main() {}
public static int main() { return 0; }
public static void main (string[] args) {}

par exemple :

static void main (string[] args) {
  print ("bonjour tout le monde !");
}

 

Pourquoi le paramètre ‘args’ ? ça permet à votre programme d’utiliser des arguments lors de son exécution. le premier élément étant le nom de programme, et les éventuels autres valeurs entrées dans votre terminal. Enregistrez ce code dans un fichier nommé « main.vala » :

static void main (string[] args) {
  if (args.length < 2) {
    print ("usage: main <argument>n");
    return;
  }
  print ("argument : " + args[1] + "n");
}

que vous compilerez par : valac main.vala -o main et exécuterez par : ./main toto .

Le résultat sera « argument : toto » 😉

Voilà, vous avez réussi à écrire votre premier programme vala :).
Dans un prochain article vous verrez la gestion des erreurs dans votre programme.