ビジュアルプログラミング言語
ビジュアルプログラミング言語(英: visual programming language)とは、プログラムをテキストで記述するのではなく、視覚的なオブジェクトでプログラミングするプログラミング言語である。グラフィカルプログラミング言語とも言う[1]。視覚表現でプログラミングが可能で、空間上でテキストやグラフィックシンボルを配置することでプログラムが形成される。
「矩形と矢印」の考え方に基づいており、矩形や円を画面上のオブジェクトとし、それらを矢印や線や弧でつなぐものや、ブロック状のものなどがある。使っている視覚表現としては、アイコンベースの言語、フォームベースの言語、ダイアグラムベースの言語などがある。
以上のような要素を操作するために、ほとんどの言語では、GUIが提供されている。
一方で「ビジュアルプログラミング言語」という分類は、そのプログラミングパラダイムは問わない。すなわち、その視覚化されているものが、手続き型プログラミングであることもあれば関数型プログラミングであることもあればデータフロープログラミングであることもある。プログラミングパラダイムとしては基本的にはテキストによる表現と違いがあるわけではないが、理解されないことも多いようである[2]。Pure Dataのようなデータフロー記述に優れた言語など、テキストで記述するよりも適した分野もあり、#データフローパラダイムとの関連の節も参照のこと。なおVisulanなどごく一部であるが、図形の形状をベースとしたパターンマッチなど、ビジュアル言語ならではの手法によるプログラミングを行う言語もある。
Contents
ビジュアル言語の例
Microsoft Visual Studio と、その環境のいくつかの言語に Visual という呼称が付いているが、これはGUIなどの開発を迅速にする同商品のRADなどを指しており、基本的にはビジュアルプログラミング言語の意味ではない。
- AgentSheets
- Alice オープンソース
- Analytica
- ASTERIA
- Automator
- CODE
- Choregraphe - アルデバランロボティクス社の人型ロボット用アプリケーション開発言語
- DRAKON - ブランの開発用に設計された言語
- jMax
- LabVIEW
- ラダー・ロジック - プログラマブルロジックコントローラで使われる言語
- Lava
- Max/MSP
- Microsoft Robotics Studio - ロボット工学向けのプログラミング環境。ビジュアル・データフロー言語が含まれている。
- Mindscript オープンソース
- OpenMusic - CLOS に基づいた音楽制作用ビジュアルプログラミング言語
- Prograph CPX
- Pure Data
- Quartz Composer
- SCADE
- Simulink
- Squeak 上で構築されたもの
- Stagecast Creator
- Subtext
- SynthMaker
- ThingLab
- ToonTalk
- VISCUIT(ビスケット)
- VisSim
- Visulan
- VSXu リアルタイム 音楽視覚化ソフトであり
データフローパラダイムとの関連
ビジュアルプログラミングとデータフロープログラミングの融合の試みがある。これらは、プログラム状態への素早いアクセスが可能で、デバッグ、自動プログラム合成、ドキュメンテーションが容易という特徴がある、データフロー言語には自動並列化が容易という特徴がある、将来的にこれが重要となる可能性を秘めている、などと主張されている[3]。
脚注
- ↑ 英語のグラフ(英: graph)には、節点と辺からなる「グラフ理論」などのグラフ (データ構造)、一般に言う「ネットワーク」の意味があることに注意
- ↑ プログラミングは言語能力の一種、読む・書くがその基盤、と信ずる子ども向けプログラミング教室Bitsbox といった記事など。
- ↑ Johnston, W.M.; Hanna, J.R.P. and Millar, R.J. (2004年). “Advances in dataflow programming languages”. ACM Computing Surveys (CSUR) 36 (1): 1-34 . 2007年3月31日閲覧..
文献
- Beyond blocks: syntax and semantics doi:10.1145/2903751
外部リンク
この記事は2008年11月1日までGFDLバージョン1.3以降の再ライセンス規約に基づいていたFree On-line Dictionary of Computingにある項目の資料が元になっている。