IT 革命と私――WWW と Tcl の衝撃
私が学生時代に IT 関係者の卵として衝撃を受けた事件が二つあった。
一つは「IT 革命」そのものといっていい WWW (ワールドワイドウェブ、俗にいうインターネット)の普及。
もう一つは、今では若干下火になってしまったが、Tcl という組み込みを前提としたコマンド言語の登場である。
■WWW の普及
私のようなすでに IT 関係者だったものにとって、InternetExplorer や Netscape の前身である NCSA Mosaic は、《先の記事》ではないが、「その分野の専門家が容易に思い付くことができる」ような物であった。
画像と文を表示するためのある種のスクリプト言語ならば、エロゲーにすら搭載されていたし、文や画像の流通もインターネットを通じて行うことはできた。現在も使われている HTML は 1986 年に ISO が標準規格としてまとめた SGML を元にしている。
IT 関係者(当時は「IT」などという用語はなかった)にとって Mosaic のようなものはやる気さえあればできるだろうし、いずれ必要となるものだという認識は広くあっただろうと思う。
しかし、それを作る手間は他の X-Window のソフトを作るよりもかなり多くなる割に、上記のような認識であるから「研究成果」としては認められにくい。さらにインターネットは研究目的で用いるためのもので高価なインフラであり、高々お遊びに過ぎない WWW のデータで帯域を奪うことはタブーとすら思われた。
実際、私のまわりでは Mosaic を見て「おもしろいね。けど、これに多くのデータを使ったら<b>インターネット本来の目的</b>であるような送信ができなくなるかもしれないからホドホドにね」という反応があったように記憶している。
そんな私だったからこそ、WWW の<b>登場</b>には大した衝撃も受けなかったが、その分、その後の<b>普及</b>に大きな衝撃を受けることになる。
私は感じた。<b>私が閉じられた社会の中でタブーと感じていたものは、特定の状況下における縛りでしかなく、タブーをやぶってでも外の社会の需要を開拓できるなら、「我々」があたり前と思っている技術の中に大きな可能性があるのかもしれない。</b>と。
■Tcl の登場
先の WWW と違って Tcl の革新性の感じ方は IT 関係者でもかなり温度差があるだろう。
私は当時の IT 関係者らしく普通に TeX で文章を書き、Perl やシェルスクリプトを用いて管理用のプログラムを書き、C で計算用や実験用の実装をする一方、当時の C++ のへたれ具合や Smalltalk の重さに嘆き、研究のテーマとしても《なぜ記号論理学から社会科学を目指すようになったのか》で書いたようにオブジェクト指向に高い関心を寄せていた。
当時はまだオブジェクト指向の概念が確立しておらず、(といっても私は今のオブジェクト指向のどこが確立した概念なのかサッパリわからないが、)クラスからオブジェクトを生成するほかに、代表となるオブジェクトからオブジェクトをコピーによって生成するというものもオブジェクト指向の枠内で考えられていた。
Tcl はすべてが「コマンド」の形を取ることから、後者の意味でのオブジェクト指向に近い物が作れるかもしれないと興味を持ったのだが、衝撃を受けたのはその「コマンド」言語の体系ではない。
Tcl には他のアプリケーションの一部としてマクロ言語のように扱われることを意図した組み込み用言語としての特徴を持つ。他の組み込み用言語は、従来からのアプリケーションを殺さないように、それでいてマシンリソースをあまり食わないようにするため、C などと連携を強めようとする。そのため、それを使うのはよほどその言語に精通していなければならず、ドキュメントを読むよりもソースを読めという雰囲気だった。
しかし、Tcl はその部分を大幅に削り、「組み込み言語」として使いたい層からはあえて難くせをつけられるぐらい単純にするかわりに、あたかも、その組み込み用インターフェイスが言語の一部であるかのように、ユーザーマニュアルにその説明を載せてきたのだ。
これはオブジェクトからオブジェクトを生成するオブジェクト指向を念頭に置いて Tcl を見た私には衝撃だった。
オブジェクト指向における private などを使ったモジュール管理機構は未来の自分への戒めとしては有効かもしれないが、C のシステム関数を個人が使うことができるなどの抜け道がいろいろある以上、複数人での開発の場合むしろプログラミングを繁雑にし、開発者間のセッション数が増えるだけに終ってしまうのではないか、という危惧があった。
Tcl のメッセージは明白だった。「標準クラス」のようなオブジェクトはクラス用の言語たる C などで書き、あくまでユーザーには<b>ユーザーインターフェイス言語</b>としての「コマンド」を使わせる。そして、C で書く以上「クラス」には抽象論ではない明らかな速度的利点があり、コンパイルというフェーズを必要とすることで、実質的な壁を作る。さらに<b>C への</b>組み込み言語ではなく、C を<b>説明言語</b>として <b>Tcl を C 上で</b>書いている感覚にさせる。
Tcl の前では、Smalltalk がいう「システムとしてオブジェクト指向」というのが、ただ言語を GUI に載せただけにすぎないように見える。オブジェクト指向のシステムというのは、言語にすべてが統合されていることが良いとは限らず、「言語」の使い方がオブジェクト指向になるべきであり、そこでは具体的な利点がプログラミングの障壁となければならないのだ。と私は思った。
私の《プロフィール》や《論理学》のカテゴリを見てもらえばわかる(?)ように、こちらは私個人のそれからと密接にかかわるわけだが、社会的なメッセージとしては、こう感じた。
<b>一般に与える物は、単純で、それがタブーに満ちた物であったとしても最大限自由に使っても大丈夫にするべきである。一方、ルール変更時には自由なシステムの中でむしろ抑制的にシステムを使ってやるのがシステムとしては「美し」く、そのルールの変更が次の作成者にとっても低コストで出来るように使用時に負荷がかかっても一般に与えた物とほとんど同じ言葉を使うべきだ。 </b> と。
コデラノブログで《ITmedia:それはなぜですか》という記事を読んだ。私はおそらく小寺氏よりは少し年齢は下だが同じ世代に属すると思う。私も「なぜ」と思うことは未だに多いが、もう三十路を過ぎて逆に「なぜ」と問われるトシにある。
私自身の「なぜ」を考えてみたとき、私に大きな影響を与えた IT 革命を振り返ってみた。聞きたいような話じゃないかもしれないけどね。
更新:,06/03/07
初公開:2006年03月08日 13:52:53
最新版:2006年03月08日 23:00:16
Trackbacks:
《IT 革命とデフレ(1)――自由主義的改革としての「ゆとり教育」》 from JRF の私見:雑記
97年の危機をうけて、橋本総理から続く日本の自由主義的改革は、IT 革命の洗礼をうけた私のような者にとって、まさに時宜を得たものだった。革新的な技術が登場した以上、《「結果」の平等、「機会」の平等》に書いたような自由主義的価値観への転換は必要不可欠だと思っていたからだ。 しかし、同時にはじまったデフレとの闘いの中に置かれることで、圧迫のために「自由」を発揮するのが難しくなったものがある。 その一...
受信: 2006-03-08 14:10:13 (JST)
《IT 革命と私――神学の忌避の向こう》 from JRF の私見:雑記
私の上の世代、または、インターネット(WWW)以前の世代の人々の見解として、「神学論争」は実りのない議論の比喩であり、神学そのものが近代理性を知らないアヤしげな宗教的実践であるとみなされていたと思う。そのため、神学は、誠実でありながら、そういった常識にあえて反抗できる…というかなり人を選ぶ学問だと、例えば私は感じていた。 「近代理性」の発展は、「神」という概念を使わずに「社会」と「個人」の関りを説...
受信: 2010-11-16 20:14:23 (JST)
Links:
先の記事: http://jrf.cocolog-nifty.com/column/2006/03/post_8.html
なぜ記号論理学から社会科学を目指すようになったのか: http://jrf.cocolog-nifty.com/column/2006/01/post_4.html
プロフィール: http://jrf.cocolog-nifty.com/about.html
論理学: http://jrf.cocolog-nifty.com/column/cat2934351/index.html
ITmedia:それはなぜですか: http://plusdblog.itmedia.co.jp/koderanoblog/2006/03/post_b89f.html (hbm)