Vala (langage)
Vala | ||
![]() | ||
Date de première version | ||
---|---|---|
Paradigme | Structuré, imperatif, orienté objet | |
Auteur | Jürg Billeter | |
Développeur | Jürg Billeter & Raffaele Sandrini | |
Dernière version | 0.42.1[1] () | |
Version en développement | 0.41.91 ()[2] | |
Typage | statique, fort, nominatif | |
Influencé par | C#, C++, C, Java | |
Écrit en | Vala, sauf pour la première version qui était écrite en C | |
Système d'exploitation | Windows, Linux, macOS | |
Licence | Licence publique générale limitée GNU | |
Site web | wiki.gnome.org/Projects/Vala | |
Extension de fichier | vala et vapi | |
modifier ![]() |
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[3],[4].
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, les logiciels Shotwell, Geary, GNOME Contacts[5] ou le greffon Arte+7 pour Totem[6] sont écrits en Vala.
Sommaire
Exemple de code[modifier | modifier le code]
Le programme « Hello World » :
void main () {
print ("Hello World\n");
}
Le programme « Hello World » programmation orientée objet :
public class Main {
public static int main (string[] args) {
stdout.printf("Hello, World\n");
return 0;
}
}
Éditeurs de texte et EDI[modifier | modifier le code]
Il existe plusieurs éditeurs de texte ou EDIs qui supportent le langage Vala[7]. On a notamment :
- Atom (éditeur de texte), avec le paquet
language-vala-modern
[9] pour la coloration syntaxique et éventuellementvalhalla
[10] pour des outils supplémentaires - GNOME Builder[11]
- Eclipse (projet), avec le plugin
Valable
[12] - Emacs[13]
- Geany[14]
- Gedit, avec le paquet
Vala Toys for Gedit
[15] ouValencia
[16],[17] - MonoDevelop, avec le paquet
monodevelop-vala
. Cependant, ce paquet n'est plus maintenu[7]. - NetBeans, avec le paquet
netbeans-valaproject
[18] - Redcar
- Code, l'éditeur de texte fourni avec elementary OS
- Sublime Text, avec le paquet
Vala
[19] - TextMate, avec le paquet
Vala-TMBundle
[20] - Val(a)IDE, lui-même écrit en Vala[21],[22]
- Valama, lui-même écrit en Vala[23]
- Vim, avec un plugin[24] et éventuellement le paquet
syntastic
pour des outils supplémentaires[25] - Visual Studio Code, avec le paquet
vala
[26]
Voir aussi[modifier | modifier le code]
- Quine en Vala
- Shotwell, un gestionnaire d'images écrit en Vala
- elementary OS, une distribution GNU/Linux qui recommande Vala[27]
Notes et références[modifier | modifier le code]
- « Vala Releases », sur git.gnome.org (consulté le 29 septembre 2018)
- (en) « 0.41.91 · Tags · GNOME / vala » (consulté le 12 août 2018)
- « Projects/Vala/About - GNOME Wiki! », sur wiki.gnome.org (consulté le 23 octobre 2016)
- « The GNOME Journal: Writing Multimedia Applications with Vala », (consulté le 23 octobre 2016)
- (en) Contacts
- (en) Totem Arte+7 Plugin, 30 décembre 2009
- « Projects/Vala/Tools - GNOME Wiki! », sur wiki.gnome.org (consulté le 23 octobre 2016)
- « Apps/Anjuta - GNOME Wiki! », sur wiki.gnome.org (consulté le 23 octobre 2016)
- (en) « language-vala-modern », sur atom.io (consulté le 23 octobre 2013)
- (en) « valhalla », sur atom.io (consulté le 23 octobre 2013)
- « Apps/Builder/Features - GNOME Wiki! », sur wiki.gnome.org (consulté le 23 octobre 2016)
- « valable in Launchpad », sur launchpad.net (consulté le 23 octobre 2016)
- « Projects/Vala/Emacs - GNOME Wiki! », sur wiki.gnome.org (consulté le 23 octobre 2016)
- « Geany : All Filetypes », sur www.geany.org (consulté le 23 octobre 2016)
- « Google Code Archive - Long-term storage for Google Code Project Hosting. », sur code.google.com (consulté le 23 octobre 2016)
- « Projects/Valencia - GNOME Wiki! », sur wiki.gnome.org (consulté le 23 octobre 2016)
- « GNOME/valencia », sur GitHub (consulté le 23 octobre 2016)
- « carbonfx/netbeans-valaproject », sur GitHub (consulté le 23 octobre 2016)
- « Vala - Packages - Package Control », sur packagecontrol.io (consulté le 23 octobre 2016)
- « technosophos/Vala-TMBundle », sur GitHub (consulté le 23 octobre 2016)
- « Code : valide : Tarnyko », sur code.launchpad.net (consulté le 23 octobre 2016)
- « Projects/Vala/Documentation - GNOME Wiki! », sur wiki.gnome.org (consulté le 23 octobre 2016)
- « Valama/valama », sur GitHub (consulté le 23 octobre 2016)
- « Projects/Vala/Vim - GNOME Wiki! », sur wiki.gnome.org (consulté le 23 octobre 2016)
- « scrooloose/syntastic », sur GitHub (consulté le 23 octobre 2016)
- « Vala Code - Visual Studio Marketplace », sur marketplace.visualstudio.com (consulté le 23 octobre 2016)
- (en) « Developer ⋅ elementary », sur elementary.io, (consulté le 23 octobre 2016)
Liens externes[modifier | modifier le code]
- (en) The Vala Programming Language, sur GNOME Live!
- (en) Benchmark of Vala versus C# and C
- (en) Hackers' Guide to Vala
- (fr) Présentation du langage Vala