(笑)川井:なるほど。高校時代になって日本に帰ってきて、環境とかやることとかっていうのは変わったりしたんですか?上野:帰国生が非常に多かったんですよね。川井:帰国子女が多かったんですね。3・4割は海外経験があるような人でした。上野:そんなに何か不安に感じるとかいうことはなかったですね。川井:高校に入ってからはコンピューターの方とはどういうお付き合いの仕方をしたんですか?上野:高校のころになると結構CG関連のコミュニティとかに顔を出したりとかしていましたね。いうコミュニティに?上野:シーグラフ東京(http://www.sig-tokyo.gr.jp/)っていうのがあるんですけど、そこが主催するライトニングトーク会みたいなのとかですね。私は発表はしませんでしたけれども。川井:とりあえず聞く方ですね。あと、論文実装コンテストみたいなのを聞きに行ってみたりとかですかね。川井:まだ高校生ですよね?上野:はい。参加できるようになったのは最近になってですよね。まあ当時はひたすら聞いているばかりでしたけど、それでもいい刺激になりましたし、実際になにか疑問に思ってることがあれば聞けるっていうのはすごいいいことでしたね。川井:なるほどなるほど。Web系の言語について川井:基本的にはCGにずっとご興味をもってその世界でいらっしゃったんですか?上野:そうですかね。高校のころはインターネットでWeb関係もやってたりしたんですけどね。Railsでプログラムを書いたりしてましたね。(笑)川井:そういう人いますよね。まつもとゆきひろさんを尊敬しているって書いてありましたね?上野:そうですね。Rubyを最初に見た時は、嫌だなって思ったんですけど、実際使い始めてみたりコミュニティに触れてみると、これは素晴らしいなと気付いたんです。あと、言語仕様がとにかく気にいったんですよね。川井:具体的にどのあたりが気に入ったんですか?上野:他の言語のいいところを積極的に取り入れてるところとか、あまり変化を恐れない所ですね。(笑)上野:普段はずっとC++で書いているんですけどね。C++の次ぐらいにRubyはずっと書いていましたね。川井:コミュニティが気に入ったっていうのはどのあたりが?上野:コミュニティが気に入ったっていうほどRubyのコミュニティには参加してないんですけど、ただ周りから見ていてすごいいいなと思ったって感じですね。川井:他のコミュニティと比べてRubyのコミュニティはどんな感じですか?上野:初心者を受け入れるコミュニティっていうのは多分PHPとかの方だと思うんですけど、あそこまで大規模になっても開発者が積極的に出てきていたりだとか、まあLinuxもそうなんですけど、開発者本人が出てきていますよね。いうものを大規模になっても失っていない感じが好きですね。開発者とか、コミュニティの中心の方がそのあたりにいて、普通に会ってしゃべれますもんね。上野:そういう感じですかね。川井:なんかこの間、高橋征義さんと話をしていたんですけど、「Rubyのコミュニティは結構つかず離れずみたいな感じがいいんですよ」っておっしゃってましたね。(笑)上野:そういうとこありますね。川井:密にコミュニケーション!とか一体感を!ってあまり強調しないって言ってましたけどね。上野:LL関係はそういうのが多いんですけどね。その中で思想的に合うのがRubyかなって感じです。川井:他にWeb系でやっていた言語ってあるんですか?上野:Web系ですとRubyぐらいかなあ・・・最近PHPとかそういったものを一通り覚えましたけど。川井:一通り覚えたんだ。新しい言語習得するのってあんまり抵抗なくすぐにできる感じなんですか?上野:言語仕様を一通りさーっと読んで、あとは基本の操作関数読めば、だいたい読めますよ。(笑)上野:基本的に、言語を使えるようになるっていうのは2段階あると思うんですよ。書けるっていうだけだったら、過去のやつに似通っていれば2・3時間あればその言語を書けるようになるんです。その言語における正しさみたいなのはおっしゃったみたいに分からないんですよ。いうのは、その言語で1週間2週間、その言語で書き続けないと、なかなか見えてこないんです。川井:使いこなすっていう感じですね。上野:使いこなすというか、文化というか・・・雰囲気っていうと違うんですけども、こう書くのがこの言語にとって正しいみたいなのがいくつかあって、そういったデザインパターンみたいなものがなかなか・・・使いこなすみたいにはいきませんけど。川井:それでもそれだけ短期間である程度書けてしまうんですね上野:でも、そんなもんじゃないですかね。ほとんど似てますからね。(笑)藤本:いや、いろいろな言語を一から触られたからきっとそこまで理解が早くできるんじゃないかなっていう感じがしますけど。(笑)Web系以外ではどんな言語を?川井:Web系以外ではどんな言語を?上野:Web系以外では最近は関数型言語とかですね。(笑)川井:(笑)上野:簡単なフィボナッチ関数とかを書いて満足して去っていくみたいな感じです(笑)川井:フィボナッチ関数ですか(笑)上野:関数型言語は考え方としては非常に面白くて。実際に使ったりもするんですけど、まともにやったのはHaskellぐらいですね。world!”ぐらいですね(笑)川井:数学にも結構興味があるって伺ったんですけど上野:数学はですね・・・興味があるというか、必要だから覚えるしかないんですけど、好きか嫌いかでいうと好きな方ですね。基本は数学的センスがないので、やっぱり周りで飛び級されてる方とか見ると、普通に感じますよ。彼らより早く理解はできないから、ちょっと時間がかかりますね。逆にコンピューターとかになると、私の方が早くとかできちゃんですけどね。私の場合は数学は必要ですからね。コンピューターグラフィックスは基本的に数字シュミレーションが主なので。今IBMの大和研究所にいるんですけど。EmacsをWindowsベースでも使えるようにするプロジェクトをやっていた人なんですけどね。彼なんか数学が強いプログラマーなんですけど。彼はまずやりたいことを全部数式にして、それを、ソースにするそうなんです。普通の人には自分のソースは分からないんじゃないかって言ってましたよ。上野:3DCGのプログラムをやるときも基礎方程式があってそれを分解して、それをこういうモジュールにするかと考えて作ってくんで、基本的には同じですね。そこで違うのは、私が使うのは基本的な微積分学なんですよ。微積分学は微積分学で難しいんですけど、多分、彼がやっているのはコンピュータープログラムの数式なんでしょう。あれは計算理論なんですごい難しいんですよ。川井:数式は最強のプログラマムだって言ってました。上野:Medewっていうんだったら分かりますけどね。あれはEmacslispのインタープリターが乗っている話なので、それだったら数式から組んだ方が早いかもしれないですね。今実際Haskellでプログラム組むときも結構そういう感じになりますね。基本的に、数式とまではいかないですけど、それに近い形の抽象化をした方がきれいに書けるんです。川井:宮下さんと話が合うかもしれませんね、。上野:でも、数学に関してはほんとに大学の数学をやってるくらいなので、そんなに深くは知りません(笑)川井:もしよかったらお帰りになって彼のを読んでもらって興味あればおつなぎしますよ(笑)上野:私はそんなにEmacs使う人ではないですからね。川井:昔は使っていて、今変えたって言っていましたね上野:昔は使っていましたね。最近ずっとVimを使ってますね。Emacslispは非常に難しいんですよね。あと、Emacslispに関して言うとあれはlispで書かれているように見えて実はlispじゃないというか。Eemacslispって手続き型的な書き方もできて、関数型言語なんだけど無理やり手続き型で書いているプログラムが多すぎるんですよ。非常に読んでて、疲れるんですよね。いったところであんまり好きじゃないんですよね。川井:宮下さんもソースを徹底的に読んだそうで、わかるまで半年ぐらいかかったって言ってましたね。上野:Emacsは非常に大規模ですからね。川井:最初全くわからなくて、半年間読み続けてやっとなんかあるときわかったって言ってましたね。それが一番今のコードを書く力になってるって言ってました。上野:個人的にはあまり賛成できないですけどね。見てわかるプログラムじゃないとダメだと思います。いう見方もありますよね。話それちゃいましたけど、Web以外の開発言語は何をやってるんですかって話でしたよね?上野:PHP、Perl、Ruby以外だと・・・ほんとに昔にやったBASICとかですかね?川井:一通りやりましたって感じですか?上野:いや、やってないのは、VM系列ですかね。JavaとかC#とかはあまりやっていないですね。個人的にあれを使う場面にあまり遭遇したことがないですからね。あれで作るというと、だいたいデスクトップのGIアプリなんですけども、今はだいたいデスクトップアプリでも私のように3Dバリバリ使うようなやつだと、C#やJavaでは物足りなくて、C++で書くことになりますし、だからといってそこまで力がいらないやつだと、今はWebインターフェースにする方が正しいじゃないですか。(笑)川井:そういうことですね。上野:あ、ただ・・・そういうのには最近ActionScript使って書きますね。AS2は挫折したんですけど、AS3はすごいわかりやすくて。後Javascriptとかですかね。川井:今使ってらっしゃると。上野:まああまり書かないですけどね。AS3なんてほんとに始めたの最近ですしね。川井:プログラミング能力は書いたコードの量だっておっしゃってたじゃないですか。(笑)上野:いやあ、結構納得いくまで書き直す人なので、だいたい1日に2,000行ぐらいですかね。(笑)藤本:書いて直して書いて直して、出来上がったのが2000行っていうことですよね。上野:まあめったにそんな数字出ないですけどね。普通1,000行ぐらいかな。川井:一日フルでやったときにそのくらいってことですね。川井:年間だとどれくらいとか意識したことあります?上野:年間とか意識しないですね。普通に学校行ってるときとか結構忙しいので、そういうときはほとんど進まなくて、テストケース1個作って終わったとかそんな感じですからね。