とうとうLabVIEW

とうとうと言うべきか,LabVIEWプログラミングに手を染めることになった.

これはいわゆるグラフィカルなプログラミング言語を中心とする*1実験機器制御プラットフォームで,面倒だけど避けて通れない「GUIで起動させた計測器からの入力をああしてこうしてグラフ化」みたいな処理が計算機システムに疎い実験家でも気軽にできる仕掛け.確かに電子回路の配線のノリでデータ処理ができるのはすごいが*2,どうしてグラフィカルじゃないプログラミング手段を付属させてくれなかったのか... バブル・ソートの例*3を見ると「ループ」「配列要素の参照」みたいな抽象概念の表現が酷い.まぁ混在させると自動相互変換の要求が生じるから難しいか.
それに私がやるのはグラフィカルな手段と付属デバイス・ドライバの利用だけですんなりいく典型的な場合になるからいいんだけどね.グラフィカルなプログラミング言語は普通の言語と比べて具象性(と言うか抽象性の低さ*4)のためにスケールしないと思うが,典型的な場合を短く表現できるようにデザインされていればトータルでは得をする(だから一定の人気を得て売れ続けている).

*1:GUI構成ではウィジェットをぺたぺた貼れるVisual Basic並みの強力なRADツールが付属している.またGPIB, RS232Cや無数のサードパーティの計測機器等のデバイス・ドライバ対応も手厚い.グラフィカルな言語だけで成り立ってるものではない.

*2:ちゃんと機械語コンパイルされるらしい. NI社の解説文書を参照.

*3:NI社の解説文書を参照. Cと対比させて解説している.

*4:これはあえてそうなるように設計されている訳だが.