ケン・トンプソン

ケネス・レイン・トンプソン
Ken n dennis.jpg
トンプソン(左)と デニス・リッチー
生誕 (1943-02-04) 1943年 2月4日(74歳)
アメリカ合衆国の旗 アメリカ合衆国 ルイジアナ州 ニューオーリンズ
国籍 アメリカ合衆国の旗 アメリカ合衆国
研究分野 計算機科学
研究機関 ベル研究所
Entrisphere, Inc
Google Inc.
出身校 カリフォルニア大学バークレー校
主な業績 UNIX
B言語
Belle
UTF-8
終盤テーブルベース英語版
主な受賞歴 チューリング賞
アメリカ国家技術賞
IEEE Tsutomu Kanai Award
プロジェクト:人物伝

ケネス・レイン・トンプソン(Kenneth Lane Thompson、 1943年 2月4日 - )は、アメリカの 計算機科学者。ハッカー仲間からはケン・トンプソン (Ken Thompson) と呼ばれている [1]。長く ベル研究所に勤め、 B言語Multicsプロジェクトに関わっていたころ、UNIX開発に使った BCPLをベースとしている)と C言語の開発で知られ、 UNIXのオリジナル開発者の一人である。

他にも、 正規表現、初期のテキストエディタ QEDedの開発、 コンピュータチェスGoといった業績がある

来歴

アメリカ合衆国ルイジアナ州 ニューオーリンズで生まれる。15人の有名プログラマのインタビューをまとめた Coders at Work で、インタビュアーの Peter Seibel の「どうやってプログラムを学んだのですか?」という質問に対し、「私はいつも論理に魅了されていて、小学生のころ既に二進法などの算数問題を解いていた。それは単に私が魅了されていたからだ」と答えている [2]

カリフォルニア大学バークレー校電子工学および計算機科学の学士号 (1965) と修士号 (1966) を取得する。修士課程の指導教官は エルウィン・バールカンプ英語版 [3]

大学の後はAT&T ベル研究所に所属した。1960年代当時、ベル研は Multicsシステムの計画に参加しており、その一員としてシステムプログラム( システムソフトウェア)等を開発した。 Bon というプログラミング言語も開発している。その後、AT&TがMulticsプロジェクトから離脱したため、関与していた所員も同システムから離れることとなるが、その経験の一部は デニス・リッチーらとともに開発し、後には広く使われるようになった NIXに生かされている。また1969年頃UNIXの開発と並行して、システム開発向け言語の B言語を設計し、それを元にしてリッチーが C言語を設計した [4]

ツール類では、 CTSS上でテキストエディタ QEDを開発している。QEDでは文字列検索に 正規表現を使うことができた。後に開発したUNIXの標準エディタ edも同様である。正規表現処理ルーチンはライブラリ化され、UNIXや他のシステムの文字列検索で広く使われるようになったため、以前は 理論言語学者など限られた間での専門的な記法であった正規表現(日本ではそういった専門分野では正則表現と訳すことがある)は、コンピュータのユーザに身近な頻用されるものとなった。

ベル研ではその後、UNIXに続き 分散オペレーティングシステム Plan 9に携わっている。Plan 9 関連では、 ロブ・パイクと共に、 Unicodeの文字符号化スキーム及び文字符号化形式のひとつ UTF-8 の発案者としても知られる [5]

ゲーム研究プログラミングの分野では、J・H・コンドンと共に、 Belleというチェス・コンピュータの開発に携わり、 コンピュータチェスの世界チャンピオンとなった。また 4 - 5(現在6)駒のエンドゲーム(終盤)の 終盤テーブルベース英語版を開発。このテーブルベースを使うことで、チェスのプログラムは、一度テーブルベースに保存された局面に到達すれば、完璧にゲームを進めることができた。後に終盤に強いチェスプレーヤーの John Roycroft の助力を得て、終盤テーブルベースをCD-ROM化して配布したことがある。

2000年12月1日にベル研究所を去り、2006年までは Entrisphere, Inc で フェローを務めた。2015年現在は Googleに Distinguished Engineer として所属。Google では Go言語などに携わっている。

他の言語で
العربية: كين تومسن
azərbaycanca: Ken Tompson
تۆرکجه: کن تامسون
български: Кен Томпсън
bosanski: Ken Thompson
català: Ken Thompson
čeština: Ken Thompson
Deutsch: Ken Thompson
English: Ken Thompson
español: Ken Thompson
فارسی: کن تامسون
français: Ken Thompson
Gaeilge: Ken Thompson
galego: Ken Thompson
hrvatski: Ken Thompson
Հայերեն: Քեն Թոմփսոն
Bahasa Indonesia: Ken Thompson
italiano: Ken Thompson
한국어: 켄 톰프슨
Bahasa Melayu: Ken Thompson
Nederlands: Ken Thompson
polski: Ken Thompson
português: Ken Thompson
română: Ken Thompson
русский: Томпсон, Кен
srpskohrvatski / српскохрватски: Ken Thompson
slovenčina: Ken Thompson
slovenščina: Kenneth Thompson
српски / srpski: Кен Томпсон
svenska: Ken Thompson
Türkçe: Ken Thompson
українська: Кен Томпсон
Tiếng Việt: Ken Thompson