Un langage de programmation graphique ou visuel est un langage de programmation dans lequel les programmes sont écrits par assemblage d'éléments graphiques. Sa syntaxe concrète est composée de symboles graphiques et de textes, qui sont disposés spatialement pour former des programmes. De nombreux langages visuels se basent sur les notions « de boîtes et de flèches » : les boîtes (ou d'autres d'objets) sont traitées comme des entités, reliées par des flèches ou des lignes qui représentent des relations.

Script du programme "Hello, world!" dans le langage de programmation graphique Scratch

Plus précisément, un langage est défini par une syntaxe abstraite, à laquelle sont associées une ou plusieurs syntaxes concrètes, parmi lesquelles une ou plusieurs peuvent être graphiques.

Généralement ces langages sont associés à un environnement graphique de programmation. Il n'est pas toujours possible de les dissocier. Il faut également faire la distinction entre le langage au sens "normalisé" et son implémentation au sens "logiciel".

Exemples de langages graphiques modifier

  • Adobe Authorware, langage auteur apparu chez Macromédia permettant de réaliser des supports multimédias (CD-ROM et bornes tactiles)
  • Atelier Toy-Con dans le jeu Nintendo Labo, concept qui sera repris dans "L'atelier du jeu vidéo" développé par Nintendo
  • Agilia : basé sur Eclipse
  • Blender, au-delà de l'édition 3D, la programmation de jeu, la création de texture et le compositing de Blender fonctionnent par "nodes"
  • Les langages construits sur Blockly, une bibliothèque logicielle développée par Google à partir d'App Inventor
  • Boîtes fonctionnelles
  • Cameleon, langage graphique de programmation fonctionnelle (dérivé du réseau de pétri)
  • DRAKON
  • Grafcet / SFC
  • Ladder
  • Langage G : de LabVIEW
  • Max8 (anciennement Max/MSP)
  • Pure Data (du même auteur que Max/MSP) est un éditeur de synthèse sonore, de création multimédia et de gestion d'événement
  • Organigramme
  • Quartz Composer : environnement associé pour de la programmation sous Mac OS
  • Scicos : basé sur Scilab et orienté sur les systèmes dynamiques et systèmes continus et discrets
  • Scratch : implémentation libre et graphique du langage Smalltalk
  • Simulink : basé sur MATLAB et orienté sur les systèmes multi-physiques
  • snapp: environnement pour la création d'applications, basé sur Blockly
  • Snap!: Amélioration de Scratch avec apports inspirés par Scheme
  • Synapse, L'éditeur de comportement d'Inscape, un outil d'édition pour créer du contenu de formation et de support aux opérations en RV/RA. Développé par Diginext (CS Group)
  • UML
  • VisSim : développé par la société Visual Solutions
  • YAWL, langage graphique de programmation de workflow (dérivé lui aussi du réseau de pétri (cf Cameleon ci-dessus))
  • XOD, langage visuel pour micro-controleur
  • Usine, d'Olivier Sens est un éditeur musical et de gestion d'événements et d'interfaces physiques
  • vvvv, est un éditeur modal de vidéo en "live" et de gestion d'interfaces physiques
  • Scol, langage pour le développement d'applications 3D temps réel, réalité virtuelle et réalité augmentée
  • Blueprint (Unreal Engine) : il marche avec des nœuds que l'on doit relier ensemble pour pouvoir développer.