プログラミングの時代

かつてプログラミングはコンピュータを使う事と同義だった。コンピュータの中で過ごす時間が増えた今、そして将来、プログラミングが生活することと同義になる時代は来るのか?
Keywords: [ HyperCard, MindStorm ]

『全ての機器をネットに』で、僕は「録画予約をするように多くの人が日常的に機器の動作をプログラムする」と書いた。LEGO社のMindStormが提示したプログラミング環境は、適切なユーザーインタフェイスがあればプログラミングがそれほど困難な職人芸を要求しない事をわかりやすく示している。

その昔、計算機を使う事とプログラミングをする事は同義だった。プログラミングをしたいがために計算機を使い、計算機を使うにはプログラミングをするしかなかった。しかし今では計算機はもっと妥当な製品になり、機能を実現するエンジンとみなせるようになった。パーソナルコンピュータに限っていえば今ではアプリケーションだけを利用するユーザがほとんどだろう。
しかし利用者の層が広がるとともに、特にソフトウェアに対しては多様な要求がなされるようになった。主要なアプリケーションは非常な多機能を実装するようになり、今では多くのワープロソフトはまるでスイスアーミーナイフのようだ。もちろん一つのアプリケーションソフトの枠組で多くの機能を使いやすいインタフェイスとともに実装するには限界がある。アプリケーション主導の、いまのコンピュータ・パラダイムの限界だと考えても良い。

(MacintoshがCut & Pasteとデータフォーマットの互換性を高めることで実現しようとした、小さいが、しかし特別な機能を持つソフトウェアを組み合わせて一つのドキュメントを完成させる方法や、OpenDocなどのコンパウンドドキュメントのアプローチについてはここでは触れない事にする。とにかくそれらの多くは挫折してしまった。今は満艦飾アプリケーションの時代だ。)

既成品が多くのユーザの要求を全て満たす事は、今後ますます難しくなるだろう。ソフトウェアは再び組み合わされ、カスタマイズされる運命にあるのだ。これをユーザ側のプログラミング(的アプローチ)抜きで考えるのは余りにも無駄が多い。

1988年ごろだったろうか、HyperCardは僕に大きな衝撃を与えた。Macintoshのユーザに、Mac的世界観でのプログラミングというものがどういうものかを提示していた。当時既にMacintoshの利用価値は十分に高かった。しかしオーサリングもしくはコンストラクションの価値は更に高かった。HyperCardは何故かAppleにすら重要視されず、進化のペースを緩めてしまった。この世界ではそれは穏やかな死を意味する。残念だ。

しかしHyperCardが残したアプローチは今でもAppleScriptに残る。現在のイベント駆動型のグラフィカルユーザインタフェイスとメッセージパッシング的な記述で動くHyperTalk/AppleScriptは、Windowsの同様システムVBAより気分的にはよほど良い。(実際どうかと言えるほどVBAについて知らないのが残念。)

言語だけではなく、コンセプトや環境ごと提供しないとだめだということをHyperCardは示していた。新しいアプリケーションプラットフォーム(最近OSと呼ばれている)がユーザに提示する、その姿に期待したい。
そこではシステムオブジェクトが持つ機能と、ユーザが自分の希望を照合して、ビデオ録画をするように、MindStormロボットを動かすように、その手順をプログラムするのだ。自分に必要なツールを既存のツールの機能をつまむようにして再構成するのだ。

アプリケーションプラットフォームは全部WebでOKという主張の価値がどのようなものか、判って貰えるだろうか。



Yutaka Yasuda

1999.04.10