見出し画像

金子勇とWinnyの夢を見た 第1話 金子勇の経歴 その1

※この記事は、Advent Calendar 2023 『金子勇とWinnyの夢を見た』の二日目の記事です。

 金子さんの経歴について壇俊光著『Winny~天才プログラマー金子勇との7年半』(※1)とリクナビNEXTのTech総研のインタビュー(※2)を参考にしながら金子勇の経歴を追ってみました。

幼少期

1970年7月1日、栃木県下都賀郡(現在は栃木市)で長男として生まれました。家族状況は公開されていませんが、お姉さんがいることがわかっています。

1978年に日立ベーシックマスター「MB-6880」、シャープ「MZ-80K」、1979年9月にはNEC「PC-8001」が発売されました。そして、マイコン専門雑誌も発売されるようになり、日本のマイコン文化が始まりました。

小学校5年生の時、天文雑誌『スカイウォッチャー』に載っているプログラムを本屋の店頭で暗記した後、離れた場所にある電気屋さんに移動し、店頭に置かれたNEC PC-8001にプログラムを入力して遊んでいたそうです。また、友達から依頼されたゲームを作成したりしていました。

店頭に展示されているマイコンだったので、プログラムを保存することはできませんでしたが、一度作成したプログラムは記憶しており、次の日も同じプログラムを入力し、遊ぶことができました。

「PC-8001」の価格は本体168,000円で、純正ディスプレイは67,000円でした。これに加えてデータ保存用のカセットレコーダーが必要になります。当時の大卒初任給は約11万円で、カラーテレビ21型は大体168,000円~219,000円くらいしています。大人でも躊躇する値段と思えますが、「MB-6880」で238,000円、「MZ-80K」が198,000円でしたので、それらに比べれば割安でした。

「こんにちはマイコン」(1982年)

金子さんは、すがやみつる著「こんにちはマイコン」を愛読していたそうです。この本に載っていたコードはPC-6001(1981年11月10日発売)用です。PC-6001ならメーカー希望小売価格は8万9800円でしたが、それでも気軽に買えるものではありませんでした。マイコンを所有せずにプログラミングで遊ぶ人を「ナイコン」と呼んでいました。

中学生になると、シャープのポケットコンピューター(ポケコン)を所有して授業中にずっとプログラミングしていました。ポケコンのBASICは遅いので、アセンブラでプログラミングもしています。当然、ハンドアセンブルです。

高校

公立の進学校の栃木高等学校に入学し、1年生の時(1986年)に「第二種情報処理技術者試験」に合格し、2年生の時(1987年)には「第一種情報処理技術者試験」に合格しています。試験の内容は、今となってはかなり古臭い内容です。要求される技術レベルは高くないので、しっかり習得すれば知識量と基本的な計算力でパスできます。しかし、「第一種」の合格率は13%と低く、現在の「ITストラテジスト試験」並みです。汎用コンピューターを使ったことがなく、実務経験もない高校生にはハードルの高い内容だと思います。

大学

 1989年に茨城大学工学部情報工学科に入学されています。1993年に同大学の博士課程に進み、1999年に工学博士号を取得されました。

 茨城大学は1985年度から情報処理センターが新設(※3)されています。大学に寝泊まりしながらUNIX上のCコンパイラでプログラミングしていました。

 シミュレーションの研究室にいた彼の博論は『プロトタイプベースオブジェクトファイルシステム(PBO-FS)の開発とシミュレーションシステムへの応用』(※4)です。現在でも茨城大学学術情報リポジトリから閲覧できます。

この論文では、大規模なプログラムやデータからなる一貫したオブジェクト指向のシミュレーション実行環境を実現するために、ファイルシステムをオブジェクト指向化することを提案しています。難しい表現になっていますが、実のところ「UNIXって使い難い」というところから「アプリケーションの設定ファイルはそのアプリと同じところに置いた方が分かり易いはすで、管理も楽になる」と考え、散々こじらせた結果出来上がったのが「PBO-FS」だと思っています。

 このファイルシステムで面白いところは、ディレクトリレベルの情報隠蔽機構というものが設定されており、同じディレクトリ内のファイルからしかアクセスできないという制御ができます。情報隠蔽という穏やかでないネーミングですが、ディレクトリのカプセル化する機能です。

NekoFlight(※5)

担当の先生が航空学科の出身だったので、研究室には航空力学の書籍がたくさんありました。1993年からフライトシミュレーター・プログラムを作りはじめ、最初はUNIX上のX-Windowで作成されていました。大学のUNIXワークステーションにはグラフィックアクセラレーターが乗っていたらしく、かなり描画速度が速かったそうです。

 ActiveDrawというフリーソフトの作成で、Windows上で高速に表示する方法習得し、1997年5月12日、NiftyのFWINGフォーラムに「Windows版NekoFlight Ver0.1」を公開します。同年2月に発売された、プレイしテーション用のゲーム「マクロス デジタルミッション VF-X」の動きを見て、自分の方がミサイルを美しく表現できる思ったからだそうです。飛んでいる機体はUNIX版のハリアーからバルキリーになりました。

プログラム名の「Neko」というのは、「Kaneko」が由来で、2ちゃんねらーの「ギコ猫」ではありません。「ギコ猫」の登場は1999年頃ですし。

 Direct3D、グラフィックアクセラレーターなど、どんどん新しいものを取り入れ、十分な速度で動くようになります。この「NekoFlight」で金子勇の名前が広く知られることになりました。

就職

 1999年から2000年にかけて、日本原子力研究所で博士研究員として勤務し、地球シミュレータ向けのソフトウェアの研究開発に従事します。大型計算機を使い、シミュレーションや可視化のプログラムを作成しました。

 地球シミュレータは、NEC SX-5ベース(現行機は第4世代のSX-Aurora TSUBASA B401-8)の世界最高速の超高速並列計算システムで、宇宙開発事業団と日本原子力研究所、および海洋科学技術センターが共同で開発しています。(※6)

 1998年、当時の科学技術庁が600億円を投じ、1999年から「地球シミュレータ」の制作が進められました。金子さんは、その初期のメンバーに選ばれました。

 プロジェクトは、2002年2月末には全システムの調整が終了し、「全球大気モデルにおいて実効性能5テラフロップス(1秒間に5兆回の計算速度)」を動かし、当時のシミュレーション性能としては世界最高を記録しています。3月11日より運用を開始し、同年、この分野で最も権威がある賞「2002年ゴードン・ベル賞」を受賞しています。(※7)

 金子さんは、仕様書どおりにプログラムを書いて終わりなどというやり方を好まず、常に実験的なことに取り組んできました。日本原子力研究所で仕事をしながら、髪の毛がそよぐ様子をシミュレートした「GL髪ベンチ」や雪がひらひら舞い落ちる様をシミュレートした「雪」をフリーソフトで公開しています。癒しが欲しくなって作成したということです。

 「GL髪ベンチ」の技術を商品化したいという誘いを受け、2000年にエクス・ツールズ株式会社(本社は福岡県福岡市)に転職し、実質一人だけの東京オフィスでShadeのプラグインを作成を始めます。その傍ら、女の子型の3Dフィギュアをマウスで動かす「AnimeBody」や六角大王の3Dアニメーションのファイルからフィギュアのレンダリングする「NekoViewer」をフリーソフトで公開しています。

 また、2000年、2001年には情報処理推進機構(IPA)の未踏ソフトウェア推進事業に参加。2002年1月から東京大学大学院情報処理工学系研究科の特任助手に就任します。

参考文献

※1 『Winny 天才プログラマー金子勇との7年半』, 壇俊光, インプレス NextPublishing, 2020-4-24

※2 『金子勇@SkeedCastは、根っからのプログラマ』, 高橋マサシ, 2008-12-12, リクナビNEXT Tech総研

※3 茨城大学ビジュアル年表, https://www.ibaraki.ac.jp/chronicle/

※4 Kaneko's Software Page "PBO-FSについての概要"

※5 NekoFlightの歴史, http://kaneko-isamu.la.coocan.jp/nflight0.htm

※6 Wikipedia "地球シミュレータ", https://ja.wikipedia.org/wiki/地球シミュレータ

※7 Wikipedia "ゴードン・ベル賞", https://ja.wikipedia.org/wiki/ゴードン・ベル賞#その他の受賞



この記事が気に入ったらサポートをしてみませんか?