プログラマ35歳定年説なんて間違い! 実時間GCの“生みの親”竹内郁雄


DODAエンジニアITでは、さまざまな業種の著名人が登場してエンジニアたちへ有益なメッセージを語っている。そのDODAエンジニアITに登場する人の中には、「アップルから招聘されたUI研究の第一人者!増井俊之からエンジニアたちへのメッセージ」で紹介したように、世界的に有名な企業からオファーを受けた著名人もたくさんいる。

今回紹介する竹内郁雄氏(以下、敬称および名前略)も、そんな著名人のひとりだ。同氏はコンピュータサイエンスの分野において世界的に有名なベンチマークプログラム「竹内関数」の考案者であり、心血を注いで実装した「実時間ガーベジ・コレクション(GC)」(以下、実時間GC)は、今なお世界中で開発競争が進められている。

巨大IT企業GoogleがAndroid上の仮想マシンでの実時間GCパフォーマンス改良のアドバイスを受けるために、わざわざ竹内に会いに来るほどで、彼の手による実時間GCのすごさがわかるだろう。

■世界的に有名な竹内関数の生みの親
竹内は、東京大学大学院 理学系研究科数学専攻修士課程を修了後、日本電信電話公社(電電公社、現在のNTT) 電気通信研究所に入所。再帰呼び出しのベンチマークプログラムとして著名な「竹内関数」の考案、マルチパラダイム言語「TAO」の開発といった業績を残した。

1997年より電気通信大学教授。2005年より東京大学大学院教授、早稲田大学大学院教授を歴任。現在は東京大学名誉教授、IPA「未踏」統括プロジェクトマネージャー(PM)をしている。

DODAエンジニアITには、同氏が40年前に考案したベンチマークプログラム「竹内関数」のことがかなり詳細に書かれている。竹内関数を考案したのは、同氏が20代後半の「1971年のある日の午後」だったという。

その当時竹内は、プログラミング言語「Lisp」の魅力にとりつかれていた。しかし当時は「Lispは実行速度が遅い」という評価が多く、Lispに対して手続き型のプログラミング言語である「Pascal」の勢いが目立っていた。そこで竹内は「なにくそ、Pascalが不得意で、Lispが有利になるようなベンチマークを作ってやる」と奮起してできたのが竹内関数だったというわけだ。

竹内関数と偽竹内関数、二行目の最後の文字がyからzになっている。

竹内関数と偽竹内関数、二行目の最後の文字がyからzになっている。

同関数は、再帰的に定義された関数であり、「たらい回し関数」とも呼ばれる。関数の再帰呼び出しの回数が与える数によって非常に増えるため、コンピューターの性能を計測するためのプログラム(ベンチマーク)に、よく用いられる。

この竹内関数だがLispの生みの親であるジョン・マッカーシー教授が記述を一文字間違えて記憶したことにより、さらに実行速度が高速になった「偽竹内関数」という新たな関数まで生み出された。こうしたこともあり、竹内関数は世界的に有名になった。竹内によると「エジプトで教えた学生まで知っていた」というのだから驚く。

そして最大の業績が「実時間ごみ集め(実時間GC、ガーベジ・コレクション)」だろう。なにしろGoogleのエンジニアがわざわざ日本まで会いにきて、Android仮想マシン上でのGCパフォーマンス向上のアドバイスを求められ、必死で煙に巻いた話など、興味深いエピソードが満載だ。ここですべてを紹介しないが、一読の価値が高い内容になっている。

■「プログラマ35歳定年説」は間違いだ
世間的には、プログラマは35歳までで、あとは引退などと若さを強調したがる傾向があるが、竹内は「そんなもん間違いだ」という。実際彼は35歳の10歳上の45歳から51歳まで、80ビット水平マイクロプログラミングという低レベルの、神経をすり減らす仕事をやり続けている。これも実時間GCを内蔵したTAO/SILENTの実現のためだ。

どこにそんな気力や体力があったのだろう?

「そりゃ、面白かったからに決まっている」

さらに「そういえば、GCのバグ取りをやっている間は、“ドラクエ”をやらなくても済んだ」「統合開発環境は楽しくない。16進ダンプを見るマイクロプログラミングだから楽しい」などとこともなげにいう。

面白い、楽しいが彼の偉業の原動力になっている。「好きこそものの上手なれ」という言葉がこれほど似合うプログラマは竹内以外にいないのではないだろうか。

■「三年予測」って、なに?
「三年予測」とは、DODAエンジニアITが提供するWebコンテンツだ。様々な分野で活躍する「トップリーダー」と称される人にインタビューを行い、IT・Web系の企業に勤務している「エンジニア」へ向けたメッセージを発信している。

「トップリーダー」の人物像やご経験にスポットライトを当て、先の見えない昨今においてエンジニアとして魅力のある人物に成長していくためにはどうあるべきか、考え方や姿勢など、日々の業務を行うだけでは思いつかなかった発見・気付きを示唆するコンテンツとなっている。

同コンテンツを読んでもらうことで、より重宝される人材になるためのアクションを起こしてもらうことを目的としている。

計算機科学者 竹内郁雄氏が語る、世界的な業績を生み出す秘密とは

関連記事

コメントは利用できません。

カテゴリー

アーカイブ

ページ上部へ戻る