
第3回 Cyanを設計した高校生、5カ月で5つの言語を習得
インタビュアー:竹内郁雄(東京大学 教授)
執筆:荒井亜子(@IT自分戦略研究所)
2009/1/15
| 本連載では、コンピュータの世界で卓越した才能を発揮しているプログラマたちに、スキルやキャリアに関する10の質問し、プログラマとしての考え方・生き方を探る。天才の言動からわれわれ一般人がまねできることとは何か。今回は新春特別企画として、10の質問枠を取り払い、竹内郁雄氏との対談形式でお伝えする。 |
読者の皆さんは、「Cyan」(サイアン)という言語をご存じないかもしれない。Cyanは、Lispのマクロを持ち、Python風のインデントによってブロックを表すプログラミング言語。2008年の春、林拓人という1人の高校生によって設計された。
![]() |
|
| 林拓人氏 | 写真:岩井玲文 |
| 開成高校2年。撮影は開成高校にて | |
連載第1回の竹内郁雄氏が「開発」の天才、第2回の五十嵐悠紀氏が「発想」の天才とするならば、今回の林氏は「プログラミング言語」の天才だ。
林氏がプログラミング言語に初めて触れたのは中学3年の夏休み。そこから冬休みまでの5カ月間に、5つのプログラミング言語を習得した。その後もいくつかのプログラミング言語を学ぶ中、林氏の興味はWebサービスなどのものづくりには行かず、ひたすら言語自体へと向かっていった。
高校2年の春、自身でプログラミング言語Cyanを作り上げた。Cyanを設計した林氏は、「U-20プログラミング・コンテスト」(以下、U-20プロコン)で経済産業大臣賞を受賞。初めて本格的に書いたプログラムは、自分の設計した言語の処理系という、何とも特異な、前代未聞のプログラマである。
インタビュアーは、Lispでおなじみの東京大学 教授 竹内郁雄氏。才能あるプログラマの発掘・育成のためならばと、ボランタリーで引き受けてくださった。
■プログラミング能力と日本語力は比例する
1.――文系ですか? 理系ですか?
竹内氏:林君はいま高校2年生か。学校の勉強で得意科目は理数系?
林氏:理数系科目は好きですけど、得意とまではいえないです。国語は比較的得意です。
竹内氏:素晴らしい! 私の持論ですが、国語ができる(=日本語できちんとした文章が書ける)人じゃないとプログラムは書けない。これは非常に重要です。情報処理推進機構(IPA)未踏IT人材発掘・育成事業(未踏プロジェクト)で、逸材中の逸材といわれた登大遊(のぼり だいゆう)君も、国語力がすごい。プログラミング能力と国語力が同じくらいじゃないかな。本当にすごいプログラマは国語ができる人が多いです。いま日本は文章を書くという教育をほとんどしていないですが、林君は自分で文章を書く勉強をしたことはありますか?
林氏:本は好きで小さいころからよく読んでいました。特別にものを書く勉強をしたことはないですが、作文を書くときにはそれなりの注意を払って書きます。あと、日本語の文法にも興味があります。
竹内氏:そのセンスが重要なんです。話を聞いて分かったけど、林君は文系っぽいんだよね。その文系っぽい人が計算機に目覚めたときは怖いんですよ。恐ろしい力を発揮しますから。
■「本当に暇だったんです」(林氏)。1冊の部誌が人生を変える
2.――これまでのプログラミング経験を教えてください
竹内氏:プログラミングを始めたきっかけは?
林氏:中学3年の夏、帰宅部(註)で暇をもてあましていたとき、ふと本棚から中学2年の文化祭でもらったコンピュータ部の部誌を引っ張り出して読んだことです。部誌に書かれていた日本語プログラミング言語TTSneoを見て、これだったら自分でもできそうだと思い、やってみました。
竹内氏:なかなかマイナーな言語ですね。日本語だったら自分でもできそうと思ったんですね。TTSneoの後はどんな言語を勉強しました?
林氏:TTSneoの後はゲームを作るHSPを勉強しました。その後C言語をやろうとして、C++でオブジェクト指向をかじったりしました。そのときはフレンド関数などの使い道がよく分からず、オブジェクトは構造体に毛が生えたもの程度にしか思っていませんでした。そして、中学3年の冬にプログラミング言語の処理系の作り方を知りました。
竹内氏:中学3年の夏から勉強し始めて中学3年の冬には処理系の作り方を? 早いね! 教科書を読んで勉強したんですか?
林氏:処理系の作り方は、『いまどきのプログラミング言語の作り方』という本で勉強しました。この本にプロトタイプベースのオブジェクト指向について書かれていて……。
竹内氏:いきなりそこに行くか?! この本をきっかけにいろいろなプログラミング言語を習得したんですか?
林氏:はい。当時、オブジェクト指向はクラスベースという固定観念があったのですが、プロトタイプベースを知ったときにオブジェクト指向は広い意味でもっと面白いものだと思いました。プロトタイプベースのオブジェクト指向に興味を持って、いろいろな言語を眺めるようになりました。ちなみにそのときはまだLispを面白いとは思えなかったんです。Lispの第一印象は「変な言語」。後にプログラミング言語を作ろうとしてもう1度学び直したとき初めてLispの面白さが分かりました。
竹内氏:一般に、オブジェクト指向は入門教育が大変なんです。初心者にとって最初に越えなければならない壁が多いから。まずクラスやインスタンスありきで、最初にやたらと抽象的な概念が出てきます。入門言語としてオブジェクト指向がやりにくいというのは教育界でも定評があります。その点林君の場合はプロトタイプベースから入ってとっつきやすかったんですね。そういうところに自然に入っていくのがすごい。ただ、プロトタイプベースは、職業プログラマに対しては必ずしもお薦めしませんが。
それにしても、本当にプログラミング言語遍歴が速いよね。中学3年の夏休み(8月)からTTSneo、HSP、C言語を勉強したんですよね。
林氏:はい、ですがCは文法だけ眺めて止めにしました。これでプログラムは作れないかな、と思ったんです。低水準過ぎる気がして……
竹内氏:あー、いいね〜その感覚。それで、中学3年の冬休み(1月)にC++に移って、その後プロトタイプベースのオブジェクト指向とJavaを学ぶと。
林氏:自分でもこんなに早かったっけ、と思います。
竹内氏:TTSneo、HSP、C、C++、Java。つまり8月から1月の5カ月で、5個のプログラミング言語を習得したんだ?! 特別なセンスですね。ほかにどんな言語を勉強したんですか?
| (註)帰宅部:部活動に入らないこと |
| Cyanができるまで |
【写真】天才プログラマに聞く10の質問 バックナンバー
- 第1回 Lispの仏さま竹内郁雄の目力
- 第2回 麗しの天才科学者、五十嵐悠紀の「科学って素敵!」
- 第3回 Cyanを設計した高校生、5カ月で5つの言語を習得
- 第4回 国語力とプログラミング力の関係 解説編
- 第5回 Rubyを最大63%高速化した中学生は超多忙!
| iPhoneアプリは外注? いやオレらが作る! 社内エンジニアに“檄文” 開発秘話公開 公開後は酷評も、会社は理解。正式プロジェクト発足でバージョンアップへ |
| 【転職体験談】「もっと多くのユーザーに使って欲しい」⇒ mixiへの転職に成功! 8年間のSIer生活で得た経験とスキルを生かして転職活動。評価のポイントはどこ? |
| 【経営戦略】⇒「いつか勉強しよう」ではなく「いまこそ勉強すべき」スキル 50%のユーザー企業が「戦略を立案できるIT技術者」と仕事をしたがっている |
| 気になる「社会人大学院」という選択肢 仕事との両立は本当に可能? 独学とは何が違う? 実際の学生・卒業生6人に聞いた |
|
|
| 1日1問、模擬試験問題をメールで届けます | |
| ITスキル研修4000件、最新情報の検索できます |
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
| ◆ iPhoneアプリは外注?いやオレらが作る! 社内エンジニアに“檄文” 開発秘話公開 New! |
||
|
◆ 【転職体験談】mixiに転職したエンジニア 8年間のSIer生活で得たスキルとは何か? New!
|
お勧め求人情報
| ◆クライアント企業から求められる人材 ⇒IT技術と経営戦略を併せ持つ「戦略家」 New! |
||
| ◆気になる社会人大学院。興味はあるけど仕 事と両立可能?実際に通った6人に聞いた |
||
|






「秘密のファイル世界デビュー」――日立システムがセキュリティかるた大会