ビジュアルプログラミング言語(ビジュアルプログラミングげんご、)とは、プログラムをテキストで記述するのではなく、視覚的なオブジェクトでプログラミングするプログラミング言語である。グラフィカルプログラミング言語とも言う英語のグラフ()には、節点と辺からなる「グラフ理論」などのグラフ (データ構造)、一般に言う「ネットワーク」の意味があることに注意。

なお、これは総称であり、プログラムをどのように視覚的に表現するかには、いろいろな種類がある。「矩形と矢印」の考え方に基づいており、矩形や円を画面上のオブジェクトとし、それらを矢印や線や弧でつなぐものや、空間上でテキストやグラフィックシンボルを配置するものや、ブロック状のものなどがある。それぞれを指す呼び方としては、アイコンベースの言語、フォームベースの言語、ダイアグラムベースの言語などといった用語がある。

以上のような要素を操作するために、ほとんどの言語では、GUIが提供されている。

表現法がいろいろあることと同様に、「ビジュアルプログラミング言語」という分類は、そのプログラミングパラダイムは問わない。すなわち、その視覚化されているものが、手続き型プログラミングであることもあれば関数型プログラミングであることもあればデータフロープログラミングであることもある。Pure Dataのようなデータフロー記述に優れた言語など、テキストで記述するよりも適した分野もあり、#データフローパラダイムとの関連の節も参照のこと。なおVisulanなどごく一部であるが、図形の形状をベースとしたパターンマッチなど、ビジュアル言語ならではの手法によるプログラミングを行う言語もある。

ビジュアル言語の例 と、その環境のいくつかの言語に という呼称が付いているが、これはGUIなどの開発を迅速にする同商品のRADなどを指しており、基本的にはビジュアルプログラミング言語の意味ではない。 AgentSheetsProgramming For Kids | AgentCubes Alice – Tell Stories. Build Games. Learn to Program. オープンソース AnalyticaLumina Decision Systems - Analytics Software - Visual Modeling

Automator Bubble CODE (プログラミング言語)CODE Visual Parallel Programming System Choregraphe - アルデバランロボティクス社の人型ロボット用アプリケーション開発言語 - ブランの開発用に設計された言語 - ローマクラブの「成長の限界」報告で指摘された資源枯渇問題に取り組むシステム動力学シミュレーションシステムが起源であるシミュレーション言語及びグラフィカル記法

KSKPKSKP | 「KSKP」は、「誰もが当たり前にデータ分析・活用ができる社会」の実現に向けて、KSKアナリティクスが独自開発したデータ分析プラットフォームです。 - 大規模データの処理・分析環境。ビジュアルプログラミング言語で処理を構築できる。

ラダー・ロジック - プログラマブルロジックコントローラで使われる言語 The Lava Programming Environment

Robotics:Microsoft RoboticsStudioで世界をシミュレートする| Microsoft Docs - ロボット工学向けのプログラミング環境。ビジュアル・データフロー言語が含まれている。 Mindscript オープンソース - Common Lisp に基づいた音楽制作用ビジュアルプログラミング言語 プログラミングゼミ - DeNAが開発したプログラミング学習アプリ

Quartz Composer SCADE Scratch

Springin'Springin’(スプリンギン)| 創造的プログラミングアプリ(スプリンギン) 上で構築されたもの

Scratch Stagecast Creator SubtextSubtext programming language SynthMaker ThingLabThingLab タイルズ(TILES) ToonTalk-- Making programming child's play VISCUITビスケット viscuit | コンピュータは粘土だ!!(ビスケット) VisSimThe smarter, faster way for model-based embedded development | VisSim Visulan3D-Visulanの詳細情報 : Vector ソフトを探す! VSXuVSXu - music visualizer, audio visualizer, visual programming language (VPL), realtime graphics design platform リアルタイム 音楽視覚化ソフトであり

データフローパラダイムとの関連 ビジュアルプログラミングとデータフロープログラミングの融合の試みがある。これらは、プログラム状態への素早いアクセスが可能で、デバッグ、自動プログラム合成、ドキュメンテーションが容易という特徴がある、データフロー言語には自動並列化が容易という特徴がある、将来的にこれが重要となる可能性を秘めている、などと主張されている。

注釈

出典

文献 Beyond blocks: syntax and semantics