ケン・トンプソン
テンプレート:Infobox Scientist ケネス・レイン・トンプソン(Kenneth Lane Thompson、1943年2月4日 - )は、アメリカの計算機科学者。ハッカー仲間からはケン・トンプソン (Ken Thompson) と呼ばれている[1]。長くベル研究所に勤め、B言語(Multicsプロジェクトに関わっていたころ、UNIX開発に使ったBCPLをベースとしている)とC言語の開発で知られ、UNIXのオリジナル開発者の一人である。
他にも、正規表現、初期のテキストエディタQEDとedの開発、コンピュータチェス、Goといった業績がある
来歴
アメリカ合衆国のルイジアナ州ニューオーリンズで生まれる。15人の有名プログラマのインタビューをまとめた Coders at Work で、インタビュアーの Peter Seibel の「どうやってプログラムを学んだのですか?」という質問に対し、「私はいつも論理に魅了されていて、小学生のころ既に二進法などの算数問題を解いていた。それは単に私が魅了されていたからだ」と答えている[2]。
カリフォルニア大学バークレー校で電子工学および計算機科学の学士号 (1965) と修士号 (1966) を取得する。修士課程の指導教官はテンプレート:仮リンク[3]。
1960年代、デニス・リッチーと共にMultics開発に参加。そのころ Bon というプログラミング言語を開発した。ベル研究所がMultcisプロジェクトから離脱したため、2人はプロジェクトから離れたが、貴重な経験となった。1969年にはベル研究所にて、デニス・リッチーとともに、UNIXオペレーティングシステムを作成。このときトンプソンがシステム言語として開発したのがB言語であり、それを元にしてリッチーがC言語を開発することになった[4]。
CTSS上でテキストエディタQEDを開発している。これは文字列検索に正規表現を使える機能を備えていた。このQEDと後にトンプソンが開発した初期のUNIXの標準エディタ ed が、それまで単なる形式言語の記法に過ぎなかった正規表現を広めることに大いに貢献した。UNIXのテキスト処理関係のプログラム(例えばgrep)で正規表現がよく使われるようになり、最近の言語ではPerlも使っている。ロブ・パイクのテキストエディタ テンプレート:仮リンク でも正規表現が中心的概念となっている。正規表現の記法には厳密なきまりはないが、現代の正規表現を採用したプログラムの多くがトンプソンの記法に影響を受けている。
1995年に発表されたオープンソース版の分散システム用オペレーティングシステムであるPlan 9に携わっており、この開発においてはロブ・パイクと共に UTF-8 文字コードの開発を行った[5]。
J・H・コンドンと共に、Belleというチェス・コンピュータの開発に携わり、コンピュータチェスの世界チャンピオンとなった。また 4 - 5(現在6)駒のエンドゲーム(終盤)のテンプレート:仮リンクを開発。このテーブルベースを使うことで、チェスのプログラムは、一度テーブルベースに保存された局面に到達すれば、完璧にゲームを進めることができた。後に終盤に強いチェスプレーヤーの John Roycroft の助力を得て、終盤テーブルベースをCD-ROM化して配布したことがある。
2000年12月1日にベル研究所を去り、2006年までは Entrisphere, Inc でフェローを務め、現在はGoogleに Distinguished Engineer として所属。Goなどの開発に携わっている。
受賞歴
- 1980年 - 全米技術アカデミーフェロー[6]
- 1983年 - チューリング賞。リッチーと共同受賞。「汎用オペレーティングシステム理論の発展への貢献と、特にUNIXオペレーティングシステムの実装に対して」。この時の受賞記念講演で述べたのが "Reflections on Trusting Trust"[7]、後に Thompson hack と呼ばれるようになる、loginプログラムにバックドアを仕組むようなコンパイラを作るようコンパイラのバイナリを仕組み、その痕跡をコンパイラのソースからは消す、という驚異的な技巧の解説で、しかも実際にいくつかのシステムに仕込まれていたとする衝撃的なものであった。この講演だけで独立したコンピュータセキュリティに対する重要な指摘(仮にコンパイラの全ソースをチェックしても、それだけでは安全ではないかもしれない)とされている[8]。また、講演の本題に入る前に、自分が書いたプログラムの話をする枕として「私はプログラマです。フォーム1040(米国の税金の書類、en:IRS tax forms#1040)に私の職業としてそう書いています。」(I am a programmer. On my 1040 form, that is what I put down as my occupation.)と話している。
- 1990年 - IEEEハミングメダル。リッチーと共同受賞。「UNIXオペレーティングシステムとCプログラミング言語の開発に対して」[9]。
- 1997年 - コンピュータ歴史博物館フェロー
- 1999年 - 98年度のアメリカ国家技術賞をリッチーと共同受賞。「情報技術の発展に多大な影響を与えたUNIXオペレーティングシステムとC言語の発明に対して。また、情報化時代におけるアメリカのリーダーシップを強固なものにした産業全体の成長をもたらした」[10][11]。
- 1999年 - IEEE Tsutomu Kanai Award。「過去数十年に渡って分散システムの重要な基盤となったUNIXオペレーティングの開発に果たした役割に対して」[12]。
- 2011年 - 日本国際賞。リッチーと共同受賞。「UNIXオペレーティングシステム開発における貢献に対して」[13][14]。
出典・脚注
関連項目
外部リンク
- 略歴・業績
- Ken Thompson Bell Labs page
- Reflections on Trusting Trust 1983 Turing Award Lecture
- Ken Thompson: A Brief Introduction The Linux Information Project (LINFO)
- Computer Chess Comes of Age: Photos Computer History Museum
- Computer Chess Comes of Age: Video of Interview with Ken Thompson Computer History Museum
- Reading Chess paper by HS Baird and Ken Thompson on optical character recognition
- ↑ テンプレート:Cite web
- ↑ Peter Seibel, 2009, Coders at Work, ISBN 978-1-4302-1948-4
- ↑ テンプレート:Cite web
- ↑ テンプレート:Cite web
- ↑ テンプレート:Cite web
- ↑ テンプレート:Cite web
- ↑ テンプレート:Cite web
- ↑ 直接の主題ではないが、最後に警鐘として、講演した内容が示すように、原理的に、コンピュータのセキュリティには根源的な所に「信用を信用する」しかないという危うさがあるのだから、(こんにちで言うスクリプトキディに相当するような)セキュリティを脅かしている子供たちを、「天才ハッカー少年」などとマスコミがそやすことは、将来の禍いの元である、といったことも述べている。これは技術的な本筋とはあまり関係ないのだが、映画『ウォー・ゲーム』の公開などでコンピュータの一般への爆発的普及とセキュリティについて関心が高まっていた時期であったため、学会誌上でリチャード・ストールマンらと議論になった。
- ↑ テンプレート:Cite web
- ↑ テンプレート:Cite web
- ↑ テンプレート:Cite web
- ↑ テンプレート:Cite web
- ↑ テンプレート:Cite web
- ↑ テンプレート:Cite news