ビジュアルプログラミング言語(ビジュアルプログラミングげんご、英: visual programming language)とは、プログラムをテキストで記述するのではなく、視覚的なオブジェクトでプログラミングするプログラミング言語である。グラフィカルプログラミング言語とも言う。

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

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

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

ビジュアル言語の例

Microsoft Visual Studio と、その環境のいくつかの言語に Visual という呼称が付いているが、これはGUIなどの開発を迅速にする同商品のRADなどを指しており、基本的にはビジュアルプログラミング言語の意味ではない。

  • AgentSheets
  • Alice (プログラミング言語) オープンソース
  • Analytica
  • ASTERIA
  • Automator
  • Bubble
  • CODE (プログラミング言語)
  • Choregraphe - アルデバランロボティクス社の人型ロボット用アプリケーション開発言語
  • DRAKON - ブランの開発用に設計された言語
  • DYNAMO - ローマクラブの「成長の限界」報告で指摘された資源枯渇問題に取り組むシステム動力学シミュレーションシステムが起源であるシミュレーション言語及びグラフィカル記法
  • jMax
  • KSKP - 大規模データの処理・分析環境。ビジュアルプログラミング言語で処理を構築できる。
  • LabVIEW
  • ラダー・ロジック - プログラマブルロジックコントローラで使われる言語
  • Lava (プログラミング言語)
  • Max/MSP
  • Microsoft Robotics Developer Studio - ロボット工学向けのプログラミング環境。ビジュアル・データフロー言語が含まれている。
  • Mindscript オープンソース
  • OpenMusic - Common Lisp に基づいた音楽制作用ビジュアルプログラミング言語
  • プログラミングゼミ - DeNAが開発したプログラミング学習アプリ
  • Prograph CPX
  • Pure Data
  • Quartz Composer
  • SCADE
  • Simulink
  • Springin'(スプリンギン)
  • Squeak 上で構築されたもの
    • Etoys
    • Scratch
  • Stagecast Creator
  • Subtext
  • SynthMaker
  • ThingLab
  • タイルズ(TILES)
  • ToonTalk
  • VISCUIT(ビスケット)
  • VisSim
  • Visulan
  • VSXu リアルタイム 音楽視覚化ソフトであり

データフローパラダイムとの関連

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

注釈

脚注

文献

  • Beyond blocks: syntax and semantics doi:10.1145/2903751

この記事は2008年11月1日以前にFree On-line Dictionary of Computingから取得した項目の資料を元に、GFDL バージョン1.3以降の「RELICENSING」(再ライセンス) 条件に基づいて組み込まれている。


Enrect ビジュアルプログラミング言語

ビジュアルプログラミングとは?仕組みや種類、おすすめアプリを紹介! 侍エンジニアブログ

小学生が学ぶ「プログラミング言語」って?「ビジュアル言語」や「テキスト言語」って?学べるスクールも知りたい! MANABInoHAKO

「ビジュアルプログラミング言語×ライブプログラミング×Processing」新たなプログラミング環境を作ってみる プログラミング雑記

現役で使われている プログラミング言語 を紹介 1ststep