――西尾さんがエンジニアになったきっかけを教えてください。
西尾 難しいですね。そもそもエンジニアって何なのだろうと思うんです。プログラムを書く技術者をエンジニアと呼ぶのであれば自分もそうなんですが、プログラムを書くことは僕にとって表現手段の1つ。鉛筆で絵を描くのと同じです。自分のやりたいことを実現する手段としてコンピュータを使っている感覚です。例えば、記者の方がメモをとったりするのにはペンと紙の方が便利ですよね。僕がやりたいことにはコンピュータが適していたということなんです。
――どんなことがやりたかったのでしょうか?
西尾 そもそもは好奇心でした。小学校のときに両親がパソコンを買ってきてくれました。当時のパソコンは起動すると、真っ黒なDOSの画面が開き、BASICでプログラムを書くと、いろんな絵が表示されました。それが楽しくてプログラムを書くようになりました。
最近「プログラミング・シンポジウム」という学会で「なぜ、最近の若者は、プログラミングを楽しまないんだろうか?」と言う話題になりました。僕らの世代はプログラムを書くことでテレビの画面に絵を表示できる、という体験をしてきました。これはプログラムを書かなければ得られない体験です。でも、最近の子供はWindowsだったら「ペイント」を立ち上げれば簡単に絵を描けてしまう。残念なことに、彼らは「プログラムを書くことで何かを得る」という体験のチャンスを失ってしまっているんです。
僕はまだGUIが普及していないような時代にコンピュータに親しんだから「プログラムを書いて、円が描ける、きれいな模様が描ける」と喜べた。それが今の自分がある、きっかけなんです。
――グラフィックが中心だったんですか?
西尾 いろいろ、ですね。たとえば僕が使っていたBASICの環境にはたとえばいくつかのゲームが付属していました。そのゲームで遊んで、ソースをいじってみると壊れてしまう。変な表示になったキャラクターを見て笑ったりしながら、このコードはこういうことに使われているのか、と学ぶことが多かったです。
文科省のICTスクールで高校生に3Dのプログラミングについて教えたことがありますが、彼らの中には内容が難しくなり、分からなくなるとフリーセルを始めてしまう人もいました。「もう少し聞いていれば面白くなるかもしれないのに」と思うのですが、簡単に逃げ場所が手に入ってしまう。もったいないですよね。昔だったら、コマンドを入力しなければ遊ぶことすらできなかった。今の子供はかわいそうだと思います。
――確かにそうかもしれません。そういう体験を経て、西尾さんにとってコンピュータはスペシャルなものになっていった?
西尾 コンピュータはスペシャルなものというより手になじんだ道具という感じです。なくなって困るものではあるんですが。
僕は元来、物を作るのが好きでした。沢山の計算を伴うものとか、沢山の円を使った画像を作るとか、人間の手ではなかなかできないですよね。
――最近はコンピュータグラフィックでも評価されているようですね。
Virtual Star - 1つの円の周りに一回り小さな円を5つ並べ、それをどんどん繰り返す回帰的な構造を描いている。円しか描かれていないが、いたるところに直線が見えてくる不思議な作品に仕上がった
西尾 ええ。これは「ASIAGRAPH 2009」に入選した作品です(写真上)。コンピュータグラフィック(CG)による公募の作品展なんですが、ペンタブレットを使って人物を描いたりした作品がほとんど。その中で、僕だけコンピュータで規則的に円を描かせた異色なものでした。
これを見ると分かるかもしれませんが、僕にとってコンピュータは道具といっても実験道具。「これをこうしたらどうなるだろう」と頭に描いたものを実現させてみる。例えば、30枚のカードをきれいにリフトシャッフルする場合、数学的には5回のシャッフルで元の状態に戻ります。この現象を、滑らかな輪を使って表現するとどうなるんだろうか、とコンピュータを使って実験する。
すると、こういう絵ができるんですね(写真下)。
シャッフルで入れ替わるカードの位置を輪にして表現した。花のような文様が浮かび上がる
僕の場合は、何か描きたい絵が先にあるのではなくて、自分で見てみたいデータや数学的構造をコンピュータに教えてあげて、描かせてみるという感じですね。科学者が実験データをグラフに描くのと同じです。自分では、絵を描くとか、デザインするという感覚はまったくないんです。
――面白いものですね。
西尾 大学生の頃はゲノムに興味がありました。データがダウンロードできるようになったので、どうなっているのか見たかった。しかし、データのサイズが大きすぎ、生のデータを人間の目で見てもよく分かりません。そこで、これを上手く圧縮してグラフィックにしてみたら面白いんじゃないかと、4つの塩基の割合を色分けして表現しました。そしたら生物によって異なった模様が見えてきた。人間の目では分からないことでも、コンピュータを使えば分かるようになる。そうやって自分の知らなかった世界を広げることが好きなんです。
――まさに探究心ですね。
西尾 そうなんです。ネット上で「プログラミングを勉強したい」と発言している人の中には「何のために勉強したいのか」という目的がないままになっている人がいるように見えます。自分の場合は、やりたいことがあったからそれに適した道具を求めて勉強してきた。目的もなくプログラミングを勉強したいという言葉には、どうしても違和感を覚えます。
――BASICから入ってプログラミング言語の遍歴はどんな感じですか?
西尾 BASIC、QuickBASIC、Visual Basic、Delphi、Python、Java、JavaScript、ActionScript、C++、Objective-Cなどさまざまです。最適な表現方法を模索した結果、いろいろな言語に手を出してしまいました。
いま一番しっくりきているのはPythonで、もっとも手になじんでいます。
次のページ» コンピュータに感情移入できるか?
![ITに関する質問、ノウハウサイト [okyuu.com] ITに関する質問、ノウハウサイト [okyuu.com]](http://image.okyuu.k-img.com/images/okyuu_logo.gif?1265158269)

