自分戦略研究所 | 自分戦略研究室 | キャリア実現研究室 | スキル創造研究室 | 生活向上研究室 | 組み込みキャリア研究室 | コミュニティ活動支援室 | エンジニアライフ |
スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷


第3回 Cyanを設計した高校生、5カ月で5つの言語を習得

インタビュアー:竹内郁雄(東京大学 教授)
執筆:荒井亜子(@IT自分戦略研究所)
2009/1/15

第2回1 2 3次のページ

本連載では、コンピュータの世界で卓越した才能を発揮しているプログラマたちに、スキルやキャリアに関する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ができるまで

第2回1 2 3次のページ

【写真】天才プログラマに聞く10の質問 バックナンバー


@IT Special 注目企業
5分で分かる「10年後も生かせるスキル」習得法
【スキル編:連載最終回】―― スキル習得のコアとなる3つのポイントを再確認しよう!
2009年技術トレンド&求められるスキル ―― 不況に強い=オフショアされない
エンジニアを目指せ!  〜第14回:エンジニア・キャリア進化論〜マイナビ転職
@IT Special ラーニング
29歳、メーカー勤務。もうひとつの顔は大学院1年生…… デザインも工学も学びたい!
『東京夢工房』でモックアップからはじまる“ものづくりアーキテクト”への夢
今年の新人は「どう育てたい?」、新人育成の「『ツボ』ってなんだ?」
これから準備しても、まだ間に合う! プロが指南する“実践的2009年度新人研修”
キャビンアテンダント出身、現在ビジネス研修企業の社長、私生活では一児の母。
完ぺきと思える経歴の彼女が、さらに社会人大学院へと通うワケは……
「一見、関係なさそうな授業が仕事に役立っています」 ―― 仕事と両立しながら
キャンパスライフを送る、現役学生3人が“社会人大学の魅力”を徹底討論してみた!
関連キーワード

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード


スキルアップに役立つサービス
ITトレメ 1日1問、模擬試験問題をメールで届けます
ラーニングカレンダー ITスキル研修4000件、最新情報の検索できます

キャリアアップに役立つサービス

アイティメディアの提供サービス

ホワイトペーパー(TechTargetジャパン/閲覧には会員登録が必要です)

スキルアップ/キャリアアップ(JOB@IT)

ゼネラルスポンサー

自分戦略研究室スポンサー

- PR -

@IT Special 注目企業
―― いよいよ、スキル編、連載最終回。
5分で分かる、10年後も生かせるスキル習得法


2009年の技術トレンド&求められるスキル
〜エンジニア・キャリア進化論(第14回)〜


→ インデックス

お勧め求人情報


@IT Special ラーニング
“iPhone”“路線バス”“N700系新幹線”
身近なものはデザイン次第でこんなにかわる

これから準備しても、まだ間に合う!
プロが指南する“実践的2009年度新人研修”

仕事をしながらでも、1年間なら頑張れる!
元CA〜現企業社長の在校生インタビュー

“社会人大学院って、実際どうなの?”
現役学生が本音で語る「社会人大学の魅力」

→ インデックス


【ITトレメ・今日の問題】
基本情報技術者試験
著作権法に関する記述のうち、適切なものはどれか。<13年秋FE問80>

@IT自分戦略研究所会議室
テスト工数見積もりについて
情報源としてのブログの使用について
ありがとうございました&すみません
Visual C#研修について
業務系からの転身

→ 会議室トップ