LabVIEW

LabVIEWはグラフィック型言語によってプログラミングすることのできる開発環境であり、主に計測用に用いられる。Laboratory Virtual Instrumentation Engineering Workbenchを略したもの。
LabVIEW では、通常の言語でいう関数にあたるVI（Virtual Instruments）を表すアイコンをウィンドウ平面上に配置し、VIとVIの間を配線することによってデータフローを表す。for文やif文などのプログラム構造は長方形の枠を描画して構成する。このように作成されたプログラムは、単独で実行させることも、新たなVIとして他のプログラム上で再利用することも可能である。
各 VI の実行順序はデータフローによって決定される。すなわち、各 VI を実行するために必要な入力データがそろった時点で実行される。互いに依存しないデータフローがあり、かつ、それが適切である場合、LabVIEW 実行システムは、それらのデータフローを個別のスレッドで実行しようとする。たとえば、データを共有しない 2 つの While ループがある場合、それらのループは別個のスレッドで実行される。マルチコア CPU 上で動作する Windows XP や Vista は複数スレッドが渡された際に、各スレッドを別々のコアで実行しようとするので、各 While ループが別個のコアで実行されることが期待できる。
LabVIEW は、機能や入出力関係、データフローが直感的に把握できる点でテキスト型言語に対し優れている。また、データフローによって自動的に並列処理が実行されることも、大きな違いである。一方、静的型付けする言語であるため、実行時に型が決定するようなコードを記述することは難しい。また、開発環境と実行システムが分離できないため、C 言語などのようなマクロ定義ができない。