第3回 Cyanを設計した高校生、5カ月で5つの言語を習得
インタビュー:竹内郁雄(東京大学教授)
執筆:荒井亜子(@IT自分戦略研究所)
2009/1/15
■開発環境はリビングルーム!
4.――1日のスケジュールについて教えてください
時間 |
行動 |
5時30分 | 起床 |
6時30分 | 家を出発 |
8時10分〜 | 午前授業開始(4コマ) |
12時10〜40分 | お昼休憩 |
12時50分〜 | 午後授業開始(2コマ) |
14時40分 | 授業終了 |
16時30分〜 | 帰宅。宿題をやる |
18時30分〜 | お風呂 |
19時〜19時30分 | 夕食 |
19時30分〜 | プログラミング |
22時30分 | 就寝 |
平日のスケジュール(Cyanを開発していたとき) |
時間 |
行動 |
10時ごろ | 起床 |
11〜12時 | ブランチ |
午後〜1時 | プログラミング |
休日のスケジュール(Cyanを開発していたとき) |
竹内氏:睡眠時間はどれくらい?
林氏:22時か22時30分くらいにはベッドにいるので、7時間半から8時間です。寝ないと駄目な体質なんです。
竹内氏:正しい。寝ることは重要。
竹内氏:家にいるときはほとんど開発をしているんだね。テレビを見たりはしないですか?
林氏:テレビは見ますよ。開発はリビングでやっているので、ずっとついています。
竹内氏:リビングで?! 家族のみんながお茶飲んだりお菓子食べたり、テレビ見てガハハガハハと笑っているところでやってるわけ?
林氏:はい。家族の共用パソコン(デスクトップ型 Windows Vista、プログラミング環境はUbuntu)を使っているので。自分のノートパソコンはあるにはあるのですがWindows NTなんです。
竹内氏:それじゃあちょっと開発は厳しいなぁ。開発する環境がリビングとは面白い。山ごもりとは反対の環境ですね。
林氏:言語の実装をしているときはあまり外部が気になりません。というのも、設計は学校で考えていて、家では設計に沿ってプログラミングしているんです。コード打ち込んでバグがあったら直しての繰り返しです。そんなに集中力もいらないです。
竹内氏:林君は、プログラミングで行き詰まったことなんてないでしょう?
林氏:ありますよそれは。行き詰ったときは、家の中をうろうろしながらブツブツつぶやいて考えてます。家族に邪魔がられることもしばしば……。
よく見るメディアは、Webサイトがほとんどだという。プログラミング言語の勉強もほとんどWeb。特に、言語マニュアルはよく見る。技術的なことが書いてあるプログラマのブログも、リンクを辿って次々に見ていく |
■大学ではコンピュータの奥底に潜れ
5.――今後のキャリアプランについて教えてください
竹内氏:いま高校2年だと、そろそろ受験勉強?
林氏:そうですね。
竹内氏:プログラミングは少しお休みするのね。でも一度取ったきねづかはそう簡単には失わないから大丈夫。大学受験・進学は日本の制度枠なのでしておいた方がいいかもしれないです。大学ではどんなことをやりたいんですか?
林氏:情報科学や情報工学の基礎的なことを学びたいです。それ以上に、分野は違ってもコンピュータという同じ志を持つ、意欲のある人たちと話をしたり刺激し合えることを大学では求めています。
竹内氏:キャリアプランを考えるにはまだ早すぎると思うのだけど、あります?
林氏:将来やりたいことはまだ分かりません。Webやデータベースといった実用的なことを全然知らないので、そういう勉強をしていく中で自分が興味の持てることを探していけたらと思いますけど。その中で、プログラミング言語の知識が生かせることがあったら生かしていきたいと思います。
竹内氏:優等生的な答えなんだけど、Webなんてわざわざ勉強しない方がいいよ。上層レベルのプログラミングは軽く、奥底がない。マッシュアップのように、うわべのところで混ぜたり並べ替えたりするのはまさにそう。何か地面に足を着けてる感じがしないから、私はどうも面白くない。
私からアドバイスするなら、地面に足を着ける感覚をさらに磨いてはどうでしょう。プログラミング言語は、それ自体すごく面白いけど、マシン上で動いて初めて言語として機能します。コンピュータが動く構造については多分まだ勉強してないのかもしれないけど、人間が理解しやすく書きやすいプログラムで設計することは機械にとっては重荷。要するに2つの攻め方があって、いまのコンピュータを生かすためにはどういうプログラミング言語が必要かと、コンピュータをどうすれば人間に分かりやすい言語で実行できるか。いずれにせよ、コンピュータの奥底であるアーキテクチャを理解する必要があります。でもいまそれをいうと受験勉強に差し支えるので、まぁ、ゆっくりやりましょう。大学入試に「コンピュータアーキテクチャにおけるパイプライン制御について述べよ」なんて出てこないからね!
もう1つアドバイスすると、見聞を広げる意味であえてコンピュータと密接に関係しないことを勉強した方がいいです。経済学でも心理学でも何でもいい。大学の教養課程で学ぶようなことは、年を取ると重要になってくる。そのうちコンピュータとも結び付きますから。プログラミング言語の話にしても、「この設計はこういう見識に基づいてやっているんだ」とか設計者自身が厚みを持っていると皆を納得させられるからね。
いろいろいったけど、やりたいことをやりたいようにやった方がいいよ。どこかで誰かがいろいろいってくるかもしれないし、悪知恵が付いてくるかもしれないけど、自分が面白いと思ったことをやること。そして、無理だけはしないようにやっていただきたいです。
「尊敬している竹内先生にお会いできてうれしい」と林氏 |
@IT自分戦略研究所は2014年2月、@ITのフォーラムになりました。
現在ご覧いただいている記事は、既掲載記事をアーカイブ化したものです。新着記事は、 新しくなったトップページよりご覧ください。
これからも、@IT自分戦略研究所をよろしくお願いいたします。