コンピュータ理工学部 コンピュータサイエンス学科 青木 淳 教授

視てわかり、聴いてわかり、触ってわかるプログラムをめざして
オブジェクト指向プログラミングの原点・スモールトーク

コンピュータの中にプログラムを作る造形力には手で触ることが不可欠。
スパイダーにより仮想世界(コンピュータ)と人間との間に、
シンプルで現実感覚の高い研究が進められている。

コンピュータ理工学部 コンピュータサイエンス学科 教授

スパイダーによる「触ってわかる」という力覚の新しいインターフェイスで科学者は実体感を持つ

 人間は、五感(視覚・聴覚・触覚・臭覚・味覚)のうち、3つから4つを感じると、実体のある“モノ”として認識します。1つか2つだと“モノ”になりません。たとえば、夕焼けなどは視ることはできますが、聴くことも触れることもできません。“モノ”として認識しがたくなります。テレビ映像などに実体感が薄いのも、視覚と聴覚だけにたよるからです。では、コンピュータが演出する“モノ”に「触れる」ことができたとしたらどうでしょうか。スパイダー(SPIDAR: Space Interface Device for Artificial Reality:東京工業大学の精密工学研究所の佐藤誠先生のヒューマンインターフェイス研究室が開発)の登場で、コンピュータは視覚や聴覚に加えて触覚にも訴えかけることができ、非常に深い認識や理解を得ることができるようになりました(図1参照)。

 スパイダーはバーチャルリアリティ(VR:仮想現実)にハプティック(力覚:物体の形や固さなどを判断するために必要な指先などの感覚)という技術を導入するものです。3次元空間内を自由に移動・方向転換する、立体的なモノに触る、モノをつかんで移動・回転させる…など実世界に近い操作感覚を実現します。これにより仮想世界(コンピュータ)と人間との間に、操作がシンプルで実体感の強いインターフェイスが用意できます。目に見えない分子や素粒子に科学者が実体感を持つことができるのは、分子の模型を作り、その形を眼で視て、コツンと当たる音を耳で聴き、毎日毎日、ねじったり回したりして手で触るからこそです。「百聞は一見にしかず」という言葉がありますが、そこに一触を加えると「百見も百聞も一触にしかず」になることがあります。

 たとえば、国立情報学研究所の佐藤寛子先生が化学の研究「分子間に働く力の体感」に利用されています。ファンデルワールス力という分子と分子との間に働く弱い引力(相互距離の6乗に反比例するポテンシャルエナジーの力場)を体験できます(図2参照)。

 私たちが暮らしている地球には万有引力が働いていますが、あまり実感はありません。ある天体と別の天体との間に働く力は、2つの天体の距離の2乗に反比例します。これを法則(数式)で理解するだけでなく、スパイダーに万有引力を演出させ、その力に実際に触れて分かることも大切になります。実は学校で教えている先生の中でも、万有引力を手の感触として分かった上で、授業を行っている先生は少ないのです。2つの物体が「離れるとほとんど力を感じないけれども、ある距離まで近づくと急にグンと大きな力を感じ始めて、一度くっつくとなかなか離すことができない」ことをスパイダーで感じていただきたいと思います。

  • 図1 スパイダー(SPIDAR: Space Interface Device for Artificial Reality)

    図1 スパイダー(SPIDAR: Space Interface Device for Artificial Reality)

  • 図2 分子間に働く力の体感

    図2 分子間に働く力の体感

オブジェクト指向とオープンソースが私の2大キーワード。自分を媒介にしてフローを生む

青木 淳 教授

 私は26歳のときにスモールトーク(Smalltalk)に出会いました。チューリング賞(コンピュータ界のノーベル賞)や京都賞を受賞しているアラン・ケイさんが子どもたち(近未来のコンピュータ)のために開発したプログラミング言語です。その言語の特徴はコンピュータを動かすプログラムのことごとくを“モノ”として扱うのです。これをオブジェクト指向と呼びます。私はスモールトークを介して、コンピュータの中に自分で触れることのできる“モノ”を実感しました。

 ソフトウェアのデザインにおいて、3次元グラフィックスを用いた造形力のトレーニングのため、私は1枚の紙でバラの花をこしらえるような切り紙や折り紙を薦めています。コンピュータの中にプログラムを作るのも、切り紙や折り紙に似た造形力を必要とし、手で触ることが不可欠です。目の前にあるものの形や影、つまり対象の姿・オブジェクトを正確にとらえて、紙という他者への伝達手段に変換することは、デザインの世界に関わる者にとって必須で普遍的な能力になります。

 また、スモールトークはプログラムのソースコードを全部公開しているオープンソースのソフトウェアです。研究や技術開発において、隠し事があってはいけない、すべてを視て・聴いて・触れるようにするというのが私の基本的なスタンスですから、教育スタイルの基本は「手取り足取り」です。一つのプログラムを2人以上で協力して開発するペアプログラミングで、コードを書くスピードまで開示してゆきます。自分を媒介にしてフローを生む。キャッシュフロー、インテリジェンスフロー、テクノロジーフロー、エナジーフローなども同じように考えて、共に創ることでジェネレーション(世代)を超えていく伝承を目指しています。

初心者も読める「Smalltalkで学ぶオブジェクト指向プログラミングの本質」

 オブジェクト指向プログラミング言語であるスモールトークの定番本は1980年代に出たものが最後になります。最近の処理系に沿った定番本がほしいと思っていたことが、スモールトークの本を書くきっかけになりました(図3参照)。オブジェクト指向の特徴として現在広く知られているクラスやインヘリタンスなどは、オブジェクト指向の黎明期には無かったものです。それらがどのようにして登場したかをまとめました。

 1980年代にスモールトークに触ったことがある人だけでなく、触ったことがない人にも、現在使われている他の開発言語との相異を楽しんで理解していただけたら幸いです。どんな本でも言えることなのですが、たとえば『Smalltalkで学ぶオブジェクト指向プログラミングの本質』を読んでしまったら、もう以前の自分には戻れません。私たちは常に変化していて、リセットはできないのです。読んだことをどうするのか、どう処理するのか、それ考えることが大切になります。私が書き下ろすプログラムも、最初にデザインし尽くしてから創るのではなく、核の機能から徐々に試行錯誤しつつ変化して、日々生まれ変わってゆきます。まさにプログラミングさえも諸行無常です。

 共著者である浅岡浩子氏(京都産業大学客員研究員)は、オブジェクトにメッセージを与えていくことで、オブジェクトを理想的な状態に変化させていけるというスモールトークの良さに気がついたと言います。3次元のキャラクターを幾何学操作で表現する方法でも、モナリザの微笑みの写真と浅岡氏の写真が知らぬ間に入れ代わるモーフィングでも、すべては多様であり、変容してゆくということを表しています。オブジェクト指向プログラミングは、現代のプログラマにとって基本的なスキルとなりましたが、プログラムの実行中にプログラム自身を進化させる「メタプログラミング」がスモールトークの真骨頂です。ぜひともスモールトークで「本当」のオブジェクト指向プログラミングを体験してください。

  • 図3 Smalltalkで学ぶオブジェクト指向プログラミングの本質

    図3 Smalltalkで学ぶ
    オブジェクト指向プログラミングの本質

  • 青木 淳 教授と浅岡 研究員

    青木 淳 教授と浅岡 研究員

PAGE TOP