vignette|Script du programme « Hello, world! » dans le langage de programmation graphique Scratch
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 autres objets) sont traitées comme des entités, reliées par des flèches ou des lignes qui représentent des relations.
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 Adobe Authorware, langage auteur apparu chez Macromedia permettant de réaliser des supports multimédias (CD-ROM et bornes tactiles) Atelier Toy-Con dans le jeu Nintendo Labo, concept 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 Petri 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) TouchDesigner 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 Petri (cf. Cameleon ci-dessus) XOD, langage visuel pour microcontrôleur 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 fonctionne avec des nœuds que l'on doit relier ensemble pour pouvoir développer.
Notes et références
Liens externes
Catégorie:Langage informatique