人物 :: PERSON
ケン・トンプソン
UNIX の主要設計者(1969年)。B 言語の作者で、C 言語の前身を作った人物。Bell 研究所、後に Google でも活動した。1983年に Dennis Ritchie と共に ACM チューリング賞を受賞。後年、Go 言語の共同設計者の一人(2009年)。

プロフィール
- 生年
- 1943
- 存命
- 存命
- 在世
- 83 年
- 関連事象
- 03
- 名称
- ENKen ThompsonJAケン・トンプソン
ケン・トンプソン ── UNIX を作り、 Go で再登場した男
ケン・トンプソン(Kenneth Lane Thompson、 1943年2月4日 ── )は、 1969年に Bell 研究所で UNIX を設計 し、 B 言語を作り(C 言語 の前身)、 grep と正規表現を実装し、 1983年に Dennis Ritchie と共に ACM チューリング賞を受賞した。 そして2006年に Google へ移籍し、 2009年には Rob Pike、 Robert Griesemer と共に Go 言語 を共同設計している。 半世紀にわたって、 オペレーティングシステム・プログラミング言語・ツール開発の三領域で痕跡を残した極めて珍しい技術者である。
経歴
ルイジアナ州 New Orleans 生まれ、 海軍家族の子として米国各地・海外を転々として育つ。 UC Berkeley で電気工学・計算機科学学士(1965年)、 同大学で修士(1966年)。 学位取得後すぐに Bell 研究所 のコンピュータ研究センター(Murray Hill、 ニュージャージー州)に入所し、 以後36年間在籍した。
2000年に Bell 研究所を退職、 一時 Entrisphere 社にフェローとして在籍した後、 2006年に Google へ Distinguished Engineer として移籍。 2020年代には事実上引退状態にあるが、 Go コミュニティのレジェンドとして扱われ続けている。
主な業績
1969年 UNIX
1969年夏、 Bell 研究所が Multics プロジェクト(MIT・GE との共同 OS 開発)から撤退した直後、 トンプソンは Murray Hill の片隅で使われていなかった DEC PDP-7 ミニコンピュータ上で、 UNIX の最初の版を約3週間で書き上げた。 妻 Bonnie が一ヶ月間 California に帰省していた間に、 ファイルシステム、 シェル、 アセンブラ、 エディタを実装した、 というのが本人の語る経緯である。
「UNIX」という名称は、 共同研究者の Brian Kernighan が「Multics の単純化版」というニュアンスで命名したもの。 「Multi」に対する「Uni」、 そして当初の綴り「UNICS」(UNiplexed Information and Computing Service)が UNIX となった。
UNIX の設計哲学 ── 「小さなツールを組み合わせる」「すべてはファイル」「テキストストリームでの通信」 ── は、 現代の Linux(1991年)、 macOS、 iOS、 Android、 そして大半のサーバインフラに継承されている。
1969年 B 言語、 1972年 C への系譜
UNIX 初期版はアセンブリで書かれていたが、 トンプソンは移植性を考えて高級言語による書き直しを目指した。 1969年に作った B 言語は、 BCPL(Cambridge 大学発の言語)を簡略化したもので、 PDP-7 上で動作する型なしのインタプリタ/コンパイラだった。
1971年に Dennis Ritchie が B を拡張して NB(New B)を作り、 1972年に型付き言語としてC を完成させる。 UNIX は1973年に C で書き直され、 これが OS の移植性を激変させた ── アセンブリ依存を捨てた瞬間に、 UNIX は PDP-11、 VAX、 ワークステーション、 PC へと展開可能になった。
1968年 正規表現の汎用実装
QED エディタ(CTSS 上の対話的テキストエディタ)に、 トンプソンは正規表現を組み込んだ。 後の ed(UNIX 標準エディタ)、 grep(global regular expression print、 トンプソン命名)、 sed、 awk へと継承される、 計算機におけるテキスト処理の標準語彙の起点。
1980年代 Belle と計算機チェス
Joseph Condon と共に専用ハードウェアチェスマシン「Belle」を1980年代前半に開発。 1980年に North American Computer Chess Championship、 1983年に World Computer Chess Championship で優勝。 Belle は計算機チェス史で初めて Master 級レーティングを達成したマシンであり、 1997年の Deep Blue への系譜上にある。
1984年「Reflections on Trusting Trust」
チューリング賞受賞講演(1983年、 文書化は1984年)で、 トンプソンはコンパイラに仕込まれたバックドアの理論的可能性を示した。 「自分が書いたコードを完全に信頼できるか? それを信頼するためには、 コンパイラを信頼する必要がある。 しかしコンパイラは別のコンパイラでコンパイルされている……」 ── 信頼の循環性に関するこの講演は、 サプライチェーンセキュリティの古典として2026年現在も読まれ続けている。
2009年 Go 言語
Google 入社後、 トンプソンは Rob Pike(旧 Bell Labs 同僚)、 Robert Griesemer(V8 エンジン開発者)と共に新言語の設計に着手した。 きっかけは「C++ の長すぎるビルド時間に Pike が苛立っていたところ、 隣のオフィスにケンがいた」という Google 内部の逸話。
2009年に公開された Go は、 (1) goroutine による軽量並行、 (2) チャネルによる通信、 (3) インタフェース型による静的ダックタイピング、 (4) 単純な構文と高速コンパイル、 という設計選択を持つ。 Docker(2013年)、 Kubernetes(2014年)、 Terraform、 多くのクラウドネイティブツールが Go で書かれており、 現代のクラウドインフラの言語的基層となった。
受賞・栄誉
- 1983年 ACM チューリング賞(Dennis Ritchie と共同)
- 1990年 IEEE Richard W. Hamming Medal
- 1999年 米国国家技術賞(Dennis Ritchie と共同)
- 1997年 ACM Software System Award(UNIX 開発に対して、 1983年受賞分とは別)
人物像と影響
トンプソンは公的露出を極力避ける人物で、 講演・インタビューは少ない。 同時代の Pike や Brian Kernighan の証言によれば、 「コードを書くのが好きで、 政治と階層が嫌い」「実装が動くまで議論しない」というハッカー的気質。
トンプソンの遺産は2026年現在、 三つのレイヤーで動いている。 (1) UNIX 系統 ── Linux カーネル が Android、 Chromebook、 ほぼ全クラウドサーバを動かす。 (2) C 系統 ── B → C → C++ → Objective-C → Java → C# → Rust の系譜のすべてが、 トンプソンが PDP-7 で書いた最初の高級言語に祖先を持つ。 (3) Go 系統 ── クラウドネイティブインフラの主言語として、 Docker や Kubernetes などを通じて世界中のサーバで動いている。
「OS を一個書いた」「言語を一個作った」だけでも計算機史に名前が残るが、 トンプソンはこれを40年離れた2回、 異なる雇用主のもとで実行した。 計算機科学者として、 ほぼ前例のないトラックレコードである。
関連する出来事
- 1969年UNIX の誕生 ── Bell 研究所Multics 計画から離脱した Ken Thompson が、AT&T Bell 研究所で空いていた PDP-7 上に簡略なタイムシェアリング OS を作り始めた。当初は1人のための実験だったが、Dennis Ritchie が加わり、1970年に「UNICS(後の UNIX)」と命名。C 言語(1972年)への書き換えで移植性を獲得し、その後の50年を支配する OS 系譜の起源となった。Linux、macOS、Android、iOS の祖である。
- 1972年C 言語の誕生 ── Dennis RitchieBell 研究所の Dennis Ritchie が、Ken Thompson の B 言語を発展させて型システムを導入した C 言語を設計。1973年に UNIX 自身が C で書き直されたことで、OS のソースを別のハードウェアに移植可能にした世界初の言語となった。1978年の K&R 本『The C Programming Language』とともに、過半世紀にわたるシステムプログラミングの事実上の標準となる。C++、Objective-C、C#、Go、Rust、Zig など、現在のシステム言語の多くは C の系譜から派生したか、C を意識して設計されている。
- 2009年11月Go 言語 公開 ── GoogleRobert Griesemer、Rob Pike、Ken Thompson(UNIX 作者)の3人が Google で設計したシステムプログラミング言語。C++ のビルド時間と複雑さへの不満を出発点に、ガベージコレクション、goroutine による軽量並行性、シンプルな構文を持つ。Docker、Kubernetes、Terraform、Prometheus など、2010年代のクラウドネイティブインフラの大半が Go で書かれた。