Vala (langage)

Cet article est une ébauche concernant l’informatique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

Vala
Logo.

Date de première version
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] ()
Version en développement 0.41.91 ()[3]
0.45.3 ()Voir et modifier les données sur Wikidata
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)Voir et modifier les données sur Wikidata
Site web wiki.gnome.org/Projects/Vala
Extension de fichier .vala
modifier Consultez la documentation du modèle

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

  • Quine en Vala
  • Shotwell, un gestionnaire d'images écrit en Vala
  • elementary OS, une distribution GNU/Linux qui recommande Vala[28]

Notes et références

  1. « Projects/Vala - GNOME Wiki! », sur wiki.gnome.org (consulté le )
  2. « Release 0.57.0 », (consulté le )
  3. (en) « 0.41.91 · Tags · GNOME / vala » (consulté le )
  4. « Projects/Vala/About - GNOME Wiki! », sur wiki.gnome.org (consulté le )
  5. « The GNOME Journal: Writing Multimedia Applications with Vala », (version du sur Internet Archive)
  6. (en) Contacts
  7. (en) Totem Arte+7 Plugin, 30 décembre 2009
  8. a et b « Projects/Vala/Tools - GNOME Wiki! », sur wiki.gnome.org (consulté le )
  9. « Apps/Anjuta - GNOME Wiki! », sur wiki.gnome.org (consulté le )
  10. (en) « language-vala-modern », sur atom.io (consulté le )
  11. (en) « valhalla », sur atom.io (consulté le )
  12. « Apps/Builder/Features - GNOME Wiki! », sur wiki.gnome.org (consulté le )
  13. « valable in Launchpad », sur launchpad.net (consulté le )
  14. « Projects/Vala/Emacs - GNOME Wiki! », sur wiki.gnome.org (consulté le )
  15. « Geany : All Filetypes », sur www.geany.org (consulté le )
  16. « Google Code Archive - Long-term storage for Google Code Project Hosting. », sur code.google.com (consulté le )
  17. « Projects/Valencia - GNOME Wiki! », sur wiki.gnome.org (consulté le )
  18. « GNOME/valencia », sur GitHub (consulté le )
  19. « carbonfx/netbeans-valaproject », sur GitHub (consulté le )
  20. « Vala - Packages - Package Control », sur packagecontrol.io (consulté le )
  21. « technosophos/Vala-TMBundle », sur GitHub (consulté le )
  22. « Code : valide : Tarnyko », sur code.launchpad.net (consulté le )
  23. « Projects/Vala/Documentation - GNOME Wiki! », sur wiki.gnome.org (consulté le )
  24. « Valama/valama », sur GitHub (consulté le )
  25. « Projects/Vala/Vim - GNOME Wiki! », sur wiki.gnome.org (consulté le )
  26. « scrooloose/syntastic », sur GitHub (consulté le )
  27. « Vala Code - Visual Studio Marketplace », sur marketplace.visualstudio.com (consulté le )
  28. (en) « Developer ⋅ elementary », sur elementary.io, (consulté le )

Liens externes

  • (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
v · m
Versions majeures
Personnes
Applications
Officielles
Développement
Communautaires
Interface utilisateur
Technologies
Communauté
v · m
Concurrents
Déclaratifs
Fonctionnels
Impératifs
Orientés objet
  • icône décorative Portail de la programmation informatique