私は現在の GUI の基本技術が確立されるまえに一度 “GUI” のプログラミングをこころみて,もうユーザインタフェースに手をだすのはやめようとおもいながら,ここ 10 年くらいは Web インタフェースに手をそめています. 話の一部は「Perl プログラミング」に書いたことと重複しますが,ここではユーザインタフェースを中心に書きます.
私が最初にユーザインタフェースのプログラミングをこころみたのは,Macintosh Common Lisp をつかったプロダクション・システムのための視覚的プログラミング言語 VIPS (Visual Interface for Production Systems) を開発しようとしたときでした. 1988 年から 1 年半,カーネギー・メロン大学に派遣されたときでした. この派遣ではいろいろ収穫はあったのですが,この研究じたいは論文にならず,したがって研究テーマとしてもとりあげていません.
このころはまだ現在の GUI の技術が確立されていたとはいえないとおもいますが,それでも,現在おおくの GUI ライブラリがそなえている機能が Macintosh Common Lisp にはありました. テキストボックスや各種のリスト,メニュー,ウィンドウ等々です. しかし,私自身はそれらの静的なしかけだけでは満足せずに,もっと動的に変化するインタフェースを実現しようと悪戦苦闘し,その結果たいした成果もだせずにおわってしまいました.
この不毛な経験のため,もうユーザインタフェースに手をだすのはやめようといったんはおもいました. そのためしばらくはそこからはなれていましたが,百科事典の検索をデモするために,ついにふたたびそこに手をだしてしまいました. このとき (1997 年) にはすでに Web インタフェースのための基本的なしかけ,すなわち CGI の技術が確立していて,それをつかえば VIPS を開発したころよりずっと容易に GUI をつくることができるようになっていました. スタイルシートがまだなかったので,みばえをよくしようとおもうと容易でなかったのですが,そこまでやろうとはおもいませんでした. CGI のためには Perl をつかうのがよいときいたので,そのために Perl をおぼえました.
こうしておぼえた Perl + CGI による Web インタフェース作成術は,その後たびたびつかっています. DEPS というポリシーサーバのインタフェースにもつかっていますし,発表はしていませんが voiscape の管理インタフェースや実験用インタフェースにもつかっています.
Java をつかって GUI をつくろうとしたこともありましたが,なかなかおもうようにプログラミングできないので,やめてしまいました.
最近では Perl + CGI というしかけはだいぶ,ふるびてきたので,そろそろもっとあたらしい技術にのりかえようとかんがえていますが,それでもチョロッと GUI をつくるには便利なので,あいかわらずつかっています.