ホーム > Engineer25

サービス&ソリューション

第3回 千葉大学理学部先進科学プログラム 上野康平氏
ハンドルネーム:nyaxt
1 2 3 次のページへ→

今回は、史上最年少で天才プログラマー/スーパークリエータの称号をIPAから贈られた上野康平さんにお話をお聞きしました。上野さんは17歳で未踏ユースに採択。アメリカで飛び級を重ね、19歳にして千葉大学理学部先進科学プログラム3年生。同じくIPAで未踏に採択さて、スーパークリエータの認定もされているひげぽん(higepon)こと、蓑輪太郎さんのご紹介で、今回の企画が実現いたしました。3次元空間を統べる若き天才プログラマーのお話を存分にお楽しみください。

上野康平 氏(ハンドルネーム:nyaxt)


2006 年 4 月 千葉大学理学部先進科学プログラム入学
川井: PCを最初に触ったのっていつぐらいですか
上野: 小1の頃には触ってたかなと思います。
川井: 小1っていうと何年前くらいですかね?
上野: えーっと何年前なんでしょうね?
川井: 何年前だ? まだ10年経ってないのかな・・・
上野: いやいやいやいや。
川井: あ、小1か。とうことは6歳だ。
上野: ですね。
川井: どんなきっかけで触ったんですか?
上野: 父親が、電子工学系の出身だったこともあって、身近にコンピューターとか、コンピューターの前のマイコンボードが目の前にあって、結構それを触らせてもらえる環境にあったので、自然とそれをおもちゃ代わりにして遊んでいた感じです。
川井: 何が面白かったんですか?
上野: 小さい頃のことなので、何が面白かったのがわからないんですけど、ボタン押すのが好きだったんだと思います(笑)
川井: 最初に触ったマシンなんて覚えていたりしますか?
上野: 最初にさわったマシンは・・・よく分からないですね。たぶんTK85かPC88かそのあたりだったと思うんですけど。。。
川井: それから小学校の間は何かその先のステップアップはあったんですか?
上野: ずっとPC98でしたね。PC98と、Windows95が出始めたぐらいだったかな。
川井: どういったきっかけで次のステップに進んだんですか?
上野: 家の環境が自然とそうなったっていう感じですね。
川井: 具体的にはどんなことをやったりしていたんですか?
上野: PC98でもMS-DOSとかだったので、N88-BASICでプログラム打っていました。
川井: なんのプログラムやっていたんですか?
上野: BASICマガジンっていうのがあったので、それのプログラムを打ち込んでいました。当時はそんなに組めなかったので、それを改造して遊ぶ程度でした。
川井: 打ち込んでみて、いじって、おお動いたみたいな感じですか?
上野: まあ、ほとんど打ち込みの途中で挫折しますけどね (笑) あれ小学生には長いですよね。
川井: (笑)
上野: 今、打つとすごい短いなって思いますけど、当時は、50行打つのに、キー捜してとかやってると1時間以上かかりましたからね。
川井: そのベーマガはお父さんが買っていたんですか?
上野: いや、私が買っていました。
川井: あ、自分で(笑) なんでまた買ったんですか?
上野: なんででしょうねぇ?よく覚えてないですけどね。ちょっとあまりにも昔すぎてなんで買ったかよくわからないです (笑)
川井: (笑)
上野: でも、途中でアメリカに行ったんですけれども、それでも海外からわざわざ取り寄せてましたね。
川井: 何歳ぐらいからアメリカに行ったんですか?
上野: 小3の夏です。8歳か9歳ですね。
川井: それはご家族のご都合で?
上野: はい。
川井: どちらに行かれたんでしたっけ?
上野: アトランタの方ですね。そこから引っ越したりしたんですけども、小学校時代はアトランタの方に3年間ずっといました。日本でいう小学校なんですけども、一応5年で卒業なんで、そのまま6年生と、中学一年生までいました。
川井: 全部で何年ぐらいでしたっけ?
上野: 6年・・・だったと思いますね。あんまり正確に覚えてないですけどね。
川井: 日本人向けの学校というより向こうの学校ですか?
上野: はい。ジョージア州だと、日本人向けの学校はあるんですけども、週一度なので、土曜学校みたいな感じでした。他の日は現地の学校に通う感じでした。
川井: 最初は大変でしたか?
上野: はい・・大変・・でしたね。だけどもうあんまり覚えてないです (笑) 専門学級みたいのがあって、市にその学級やってる学校がひとつしかないので、わざわざバスで通ったりしましたけど。そういう学級に2年間通って、やっと普通のクラスに戻ったという感じですね
川井: ふんふん、じゃあ慣れるためにそういうのをやって、普通のクラスに戻るって感じだったんですね。
上野: はい。
川井: たとえばその、BASICでプログラムやってみようとかいうのは、周りにそういうのやってる子がいたんですか?
上野: いや、いなかったですね。
川井: いなかったんですね。じゃあ、お父さんの影響だけみたいな感じですか?
上野: 父の影響かはよくわからないですけど 、まあ、そういう触れるような環境があったことは確かです。
川井: じゃあ友達とわいわいその話をしたりではなくて、黙々と一人でやっていたんですか?
上野: そうですね。小学校時代はずっとそういう感じで、中学校に入ったらインターネットがやっと使えるようになって、そうするとだんだんプログラミングのコミュニティとかにも参加できたりしましたね。
川井: 中学校でコミュニティに入っていたんですね!
上野: といってもコミュニティもいろいろですからね。今でも自作OS界隈とかかなり低年齢の方がおられて、結構アクティブに活動してますし、私が入ったのは、PDAの開発者のコミュニティだった感じです。マイナーになると結構誰でも受け入れてくれるんですよ。
川井: ネット上だと年齢とかわからないですもんね (笑)
上野: わかんないですね。・・・・まあ、わかりますけどね (笑)。いや、わかりますけどねって、まあなんとなくわかるじゃないですか 
川井: 若いっていうのは、ばれていたんですか?
上野: いやあ、わかんないですけど、ばれていたんじゃないでしょうか (笑)
川井: PDAっていうとあれですか、ソフトの開発ですか?
上野: WindowsCEのソフトウェアですね。WindowsのプログラミングのWin32 APIは最初に見たときに、わけがわからなくて、PDAのWindowsCEでもほとんど同じ感じなんですけども、なんかそっちの方がとっつきがよくて。当時そっちの方が開発環境が無料だったんですよね。Embedded Visual C++3.0ってのがあって、それを使って組んでいたりしました。でも特に何か発表したものはなかったですね。
川井: これって中学生のときですよね?
上野: そうですね。ただ、Pocket PCでMIDI音源を操作するライブラリみたいなのを書いて、それでちょっと問い合わせが来たりとかありましたけど、まあそれぐらいですね。
川井: すごいですね。
藤森: ちょっとベーマガのところの質問に戻ってもいいですか?
上野: はい、いいですよ
藤森: ベーマガで、大体ゲームとかから打ち込んでみようというような感じで取っかかりになると思うのですが、今でも記憶に残っているプログラムってありますか?
上野: ベーマガは正直ほとんど打ち込む途中で挫折したやつばっかりだったので、完全に動いたやつってあったかなかったか覚えてないぐらいなんですよ。
藤森: なるほど。
上野: ただ当時MS-DOSのDosBASICだったので、MS-DOS上でそのBio_100%っていうグループがフリーウェアでどんどんゲームを公開していて、それがN88-BASICで動いてるプログラムと雲泥の差なわけですよ。やっぱり彼らは機械語でバリバリやっているから(笑)。そういうのにあこがれたりはしました。Bio_100%は今のドワンゴの旧メンバーみたいな感じですね。
川井: ゲームには当時あまり興味なかったんですか?
上野: テレビゲームは・・・やっぱりCGに興味があったんですよ。(笑)ゲーム本編よりも、うわぁ、このCGすごいみたいな感じでした。
川井: グラフィック?
上野: 当時CG始めたのがたしかベーマガからで、3DCGの数学っていうのは小中学生には難しいわけですよ。なので、今誰も知らないんですけど(笑)、当時マイクロソフトの方が連載されていたダイレクトアニメーションの連載があって、今思うとあれものすごい先をいきすぎてた技術だと思うんですけど、Webブラウザ上でダイレクト3Dが触れる技術なんですよ。そういう用途ですからすごい使い方もシンプルで、2・3時間もあれば簡単なプログラムも組めるみたいな感じだったんです。それでだんだん3Dプログラミングにはまっていった感じです。
川井: なるほど。その頃からそういうグラフィックへの興味はずっと継続している感じですね。
上野: そうですね。
川井: 高校はこちらの高校になるんですよね?
上野: はい、高校は東京の方です。
川井: 普通の高校に行かれたんですか?
上野: 普通なのかなあ・・・学芸大学附属っていう高校でした。
川井: 学芸大学附属。何か特別なコースとかじゃなくて?
上野: とりあえずそこが帰国子女入試をやってたんです。
川井: なるほど。高校時代になって日本に帰ってきて、環境とかやることとかっていうのは変わったりしたんですか?
上野: 帰国生が非常に多かったんですよね。
川井: 帰国子女が多かったんですね。
上野: 学芸大学附属には、帰国生向けの学校と帰国生向けでない方の二つがあって、私は帰国生向けでない方に行ったんですけど、内情は実はすごい多かったというのがありましたね。3・4割は海外経験があるような人でした。
川井: 違う方に行っても3・4割が海外経験あるんですか?! 
上野: そんなに何か不安に感じるとかいうことはなかったですね。
川井: 高校に入ってからはコンピューターの方とはどういうお付き合いの仕方をしたんですか?
上野: 高校のころになると結構CG関連のコミュニティとかに顔を出したりとかしていましたね。まあよく顔出したなって思いますけどね。そんなところに行ってどうするんだろって (笑)
川井: たとえばどういうコミュニティに?
上野: シーグラフ東京(http://www.sig-tokyo.gr.jp/)っていうのがあるんですけど、そこが主催するライトニングトーク会みたいなのとかですね。私は発表はしませんでしたけれども。
川井: とりあえず聞く方ですね。
上野: はい。あと、論文実装コンテストみたいなのを聞きに行ってみたりとかですかね。
川井: まだ高校生ですよね?
上野: はい。ちゃんと参加できるようになったのは最近になってですよね。まあ当時はひたすら聞いているばかりでしたけど、それでもいい刺激になりましたし、実際になにか疑問に思ってることがあれば聞けるっていうのはすごいいいことでしたね。
川井: なるほどなるほど。
川井: 基本的にはCGにずっとご興味をもってその世界でいらっしゃったんですか?
上野: そうですかね。まあ高校のころはインターネットでWeb関係もやってたりしたんですけどね。当時はまだあんまりRuby on Railsっていってなかったんですけど、バージョン1.0になる前ぐらいのRCの前のβ版のときはずっとRuby on Railsでプログラムを書いたりしてましたね。なんかだんだん有名になってきたから嫌になってきちゃった (笑)
川井: そういう人いますよね。まつもとゆきひろさんを尊敬しているって書いてありましたね?
上野: そうですね。Rubyを最初に見た時は、嫌だなって思ったんですけど、実際使い始めてみたりコミュニティに触れてみると、これは素晴らしいなと気付いたんです。あと、言語仕様がとにかく気にいったんですよね。
川井: 具体的にどのあたりが気に入ったんですか?
上野: 他の言語のいいところを積極的に取り入れてるところとか、あまり変化を恐れない所ですね。まあそれは致命的でもあるんですけどね。
川井: C++もこの精神があったらって書いてありましたね (笑)
上野: 普段はずっとC++で書いているんですけどね。C++の次ぐらいにRubyはずっと書いていましたね。
川井: コミュニティが気に入ったっていうのはどのあたりが?
上野: コミュニティが気に入ったっていうほどRubyのコミュニティには参加してないんですけど、ただ周りから見ていてすごいいいなと思ったって感じですね。
川井: 他のコミュニティと比べてRubyのコミュニティはどんな感じですか?
上野: 初心者を受け入れるコミュニティっていうのは多分PHPとかの方だと思うんですけど、あそこまで大規模になっても開発者が積極的に出てきていたりだとか、まあLinuxもそうなんですけど、開発者本人が出てきていますよね。ああいうものを大規模になっても失っていない感じが好きですね。
川井: そうですね。開発者とか、コミュニティの中心の方がそのあたりにいて、普通に会ってしゃべれますもんね。
上野: そういう感じですかね。
川井: なんかこの間、高橋征義さんと話をしていたんですけど、「Rubyのコミュニティは結構つかず離れずみたいな感じがいいんですよ」っておっしゃってましたね。ふらっときてふらっとしゃべってふらっと出て行ってもOKみたいな。
上野: そういうとこありますね。
川井: 密にコミュニケーション!とか一体感を!ってあまり強調しないって言ってましたけどね。
上野: LL関係はそういうのが多いんですけどね。その中で思想的に合うのがRubyかなって感じです。
川井: 他にWeb系でやっていた言語ってあるんですか?
上野: Web系ですとRubyぐらいかなあ・・・最近PHPとかそういったものを一通り覚えましたけど。
川井: 一通り覚えたんだ。すごいですね。新しい言語習得するのってあんまり抵抗なくすぐにできる感じなんですか?
上野: 言語仕様を一通りさーっと読んで、あとは基本の操作関数読めば、だいたい読めますよ。
川井: そんなもんなんですか?
藤森: 私からすると、わかった気分にはなれるんですけど、実際作るのっていったらそこまで早くは読めない・・ですね。
上野: 基本的に、言語を使えるようになるっていうのは2段階あると思うんですよ。とりあえず書けるっていうだけだったら、過去のやつに似通っていれば2・3時間あればその言語を書けるようになるんです。でも、その言語における正しさみたいなのはおっしゃったみたいに分からないんですよ。そういうのは、その言語で1週間2週間、その言語で書き続けないと、なかなか見えてこないんです。
川井: 使いこなすっていう感じですね。
上野: 使いこなすというか、文化というか・・・雰囲気っていうと違うんですけども、こう書くのがこの言語にとって正しいみたいなのがいくつかあって、そういったデザインパターンみたいなものがなかなか・・・使いこなすみたいにはいきませんけど。
川井: それでもそれだけ短期間である程度書けてしまうんですね
上野: でも、そんなもんじゃないですかね。ほとんど似てますからね。
川井: 理屈ではそうなんですけど、でもなかなかできないって話ですよね。
藤森: いや、いろいろな言語を一から触られたからきっとそこまで理解が早くできるんじゃないかなっていう感じがしますけど。
上野: ・・どうでしょうねえ (笑)

1 2 3 次のページへ→

エディタ Vim(HHKには独立したカーソルキーがないので、hjkl移動が自然にできるVimは便利)
ブラウザ Firefox(Autopagerizeが便利すぎて他のブラウザに移行できない)
キーボード HHK

実はこの方が紹介者→ Webエンジニア武勇伝 第24回 蓑輪太郎氏
次に紹介したのは→ ※現在オファー中!!乞うご期待!!
これを読んだあなたに
オススメの会社は→

面白法人カヤック

ページ上部へ戻る
ホーム