Vala
Date de première version
15 juillet 2006 (19 ans, 22 jours )
Paradigme
Structuré , imperatif , orienté objet
Auteur
Jürg Billeter
Développeur
Jürg Billeter, Raffaele Sandrini, Rico Tzschichholz
Dernière version
0.52.3[ 1] (1er mai 2021 )
Version en développement
0.41.91 (11 août 2018 )[ 3] 0.45.3 (16 juillet 2019 )
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 version 2.1 ou ultérieure (d )
Site web
wiki.gnome.org/Projects/Vala
Extension de fichier
.vala
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 [ 4] , [ 5] .
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[ 6] ou le greffon Arte+7 pour Totem [ 7] sont écrits en Vala.
Exemple de 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
Il existe plusieurs éditeurs de texte ou EDIs qui supportent le langage Vala[ 8] . On a notamment :
Atom (éditeur de texte) , avec le paquet language-vala-modern
[ 10] pour la coloration syntaxique et éventuellement valhalla
[ 11] pour des outils supplémentaires
GNOME Builder [ 12]
Eclipse (projet) , avec le plugin Valable
[ 13]
Emacs [ 14]
Geany [ 15]
Gedit , avec le paquet Vala Toys for Gedit
[ 16] ou Valencia
[ 17] , [ 18]
MonoDevelop , avec le paquet monodevelop-vala
. Cependant, ce paquet n'est plus maintenu[ 8] .
NetBeans , avec le paquet netbeans-valaproject
[ 19]
Redcar
Code, l'éditeur de texte fourni avec elementary OS
Sublime Text , avec le paquet Vala
[ 20]
TextMate , avec le paquet Vala-TMBundle
[ 21]
Val(a)IDE, lui-même écrit en Vala[ 22] , [ 23]
Valama, lui-même écrit en Vala[ 24]
Vim , avec un plugin[ 25] et éventuellement le paquet syntastic
pour des outils supplémentaires[ 26]
Visual Studio Code , avec le paquet vala
[ 27]
Voir aussi
Notes et références
↑ « Projects/Vala - GNOME Wiki! », sur wiki.gnome.org (consulté le 29 mai 2021 )
↑ « Release 0.57.0 », 11 avril 2023 (consulté le 4 mai 2023 )
↑ (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 » , 28 août 2012 (version du 28 août 2012 sur Internet Archive )
↑ (en) Contacts
↑ (en) Totem Arte+7 Plugin , 30 décembre 2009
↑ a et b « 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 , 23 octobre 2016 (consulté le 23 octobre 2016 )
Liens externes