[Diary/2004/July]

GU開発ツール / 2004-07-10 (土)

GUIプログラミング環境

GUI開発ツール登場、プログラミング経験は不要に?(japan.ineternet.com, ITmedia)

MicrosoftやSun Microsystemsが相次いで、GUI開発ツールの最新版を市場に投入している。シンプルなアプリならば、アイコンをドラッグ&ドロップしていくだけで迅速に開発できる。こうなると、「だれがプログラマーを必要とするのだろうか」という疑問すらわいてくる。

記事のこのアブストラクト読んでて思ったのが,
「まんまMaxじゃんか」
それの見栄えが善くなったバージョンって事なのか.

Maxつーのは,元々音楽用に作られた(もちろん色々な用途に使えるけど)リアルタイムGUIプログラミング環境ってヤツです.
僕はこれにかなり縁が深いんですが.
今はもともとの開発者がフリーでPureDataってのを出してるし,GUIにpython使ったpyMaxやらMac関係だと,Max/MSPって有料版がある.
紹介記事とかにはアプリケーションって書かれることが多いけれど,まちがいなく言語の一つです.

具体的にいうと,オブジェクトと呼ばれるボックスをウィンドウの中に配置していって線で繋いでいく,という手順.もちろんマウスオペレーションが大前提.
オブジェクトには基本的には入力と出力があって,何か入力があると,何かの動作を行い結果を出力する.
もちろん入力自体はただのスイッチでいいし.

んで,
自分やその周辺のためだけの小さいプログラムって,当り前のようにMaxで書くんですよね.
習得の手間が殆んどいらない.
僕がライブ用の環境をチェックする時とかだと,チェック用のものをその場で書いて使うし.
曲とかに使うちょっとした規模のやつは,結構時間かけて書くわけですよ.
自分や他の人がため込んで来たライブラリってのもあるし,それはオブジェクトとして簡単に呼び出せるようになってる.(プログラミングとしては当り前の作業だけど)

要するに既に素人プログラマは大量に発生してるんですよね.
僕は職業プログラマじゃないしクライアントの要望どおりのものを作ることなんて出来ないけど,自分の考えたアイデアを実際に計算させるために(今回は)JAVAでプログラム書くわけだし.
自分の曲や実験のためのプログラムを書くってのは,ごく当り前の事なんじゃないかな,とか思ってたんですが.

でも,んじゃ,その前段階は誰が作ってるのよ?ということになる.
Maxの場合,個々のオブジェクトてかクラスはCで書かれているんですけど,それを誰がやってるか.
Maxを使っている中でごく一部のCを書く人間がやってるわけですよね.僕も一時期そこにどっぷり浸かっていたわけですが(学部の卒業試験の半分はそれで出来ていたんで).
でも普通にMax使っている人達は,自分でCでオブジェクトを書くってことをそもそも想像もしないんですよ.つまり彼らにとっては,GUIプログラミング環境はアプリケーションなんです.
アプリケーションのユーザという場所からしか見ないんですよ.

昔,コンピュータを使うって事はプログラミングをするって事だったわけだけれども,
単純にそれと同じようになっていくだけじゃないかなぁ.それをもっと上層に持って行った,と.
でも,求められる事はどんどん高度化しているわけで,どのフェイズをやっているかって区別はどんどんはっきりしていくよなぁ.どっちが上とかじゃなく.
使う側と使われる側...とかさ.

えーと,プログラミングを初めて勉強する上でのモチベーションの違い.
苦労してHello Worldを習得して,そこで「これだけ苦労してこれっぽっちか」なのか「おお,それじゃこんなことも出来るじゃん!」って思うか.
そこで人種は分かれるような気がするなぁ.
最初のHello Worldが派手であればあるほど,後者が増えていく...