Overview
This video traces the life of Ken Thompson, the programmer behind Unix, B, regular-expression search, grep, UTF-8 and Go. It follows him from a childhood of building things from scratch through Bell Labs and Google, showing how each tool grew out of a simple wish for the best tools for his own work.
It also answers four questions: why Unix is simple, why C took over the world, where grep came from, and why Go was created.
Key Points
- After Bell Labs pulled out of the over-engineered Multics project and banned OS work, Thompson quietly built a small OS on an underpowered PDP-7. Written in a few weeks while his family was away, the prototype became Unix, built around small tools connected by pipes.
- While improving the QED editor, he turned plain text search into pattern search with regular expressions, an idea from finite automata theory. The editor command
g/re/pgave grep its name. - His B language had no types. Dennis Ritchie added bytes, types such as
charandint, and structs, and C was born around 1972. Rewriting Unix in C made it portable; the two won the 1983 Turing Award. - While working on Plan 9 with Rob Pike, Thompson sketched UTF-8 on a diner napkin. It was implemented overnight and adopted right away.
- At Google, slow C++ builds and the language’s complexity led Thompson, Rob Pike and Robert Griesemer to start Go in 2007, admitting a feature only when all three agreed. Go was open-sourced in 2009.
Chapters
- 0:00 Intro: Does it all trace back to one person?
- 0:17 Who is Ken Thompson?
- 0:38 Four mysteries this video solves
- 1:08 Born in 1943: a childhood of constant moves
- 1:31 The boy who built his own phone line in Japan
- 2:36 Studying electrical engineering at UC Berkeley
- 3:52 1966: Joining Bell Labs
- 6:16 Why he chose the underpowered PDP-7
- 7:31 The Unix prototype, written in three weeks while his family was away
- 9:41 Going back in time: improving the QED text editor
- 10:08 The invention of regular expressions
- 11:05 The birth of grep (Global Regular Expression Print)
- 12:09 The B language, built within a 4 KB limit
- 12:43 Dennis Ritchie adds types and bytes
- 13:12 1972: The birth of C
- 14:54 1983: The Turing Award
- 15:45 Taking on a next-generation OS: Plan 9
- 17:03 UTF-8, born on a diner napkin
- 17:45 Why he left Bell Labs
- 18:18 His first job at Google: Google Books
- 19:22 2007: Three people start planning Go
- 21:14 2009: Go is released as open source
- 21:36 Thompson today: “I hardly write anything but Go”
概要
Unix、B言語、正規表現による検索、grep、UTF-8、そしてGo言語を生み出したプログラマー、ケン・トンプソンの生涯をたどる動画です。何でもゼロから作っていた少年時代から、ベル研究所、Googleまでを追いながら、どの道具も「自分の仕事のために最高の道具が欲しい」という素朴な動機から生まれたことを紹介します。
あわせて、Unixはなぜシンプルなのか、C言語はなぜ世界を制したのか、grepはどこから来たのか、Go言語はなぜ生まれたのか、という4つの問いに答えます。
ポイント
- 複雑になりすぎたMulticsからベル研究所が撤退し、OSの開発を禁じられた後も、トンプソンは非力なPDP-7の上でひそかに小さなOSを作り始めました。家族が留守にしていた数週間で原型を書き上げ、それが小さな道具をパイプでつなぐ設計のUnixになりました。
- テキストエディタQEDを改良する中で、単なる文字列検索を、有限オートマトンの理論に由来する正規表現によるパターン検索へと進化させました。エディタのコマンド
g/re/pが grep の名前の由来です。 - B言語には型がありませんでした。デニス・リッチーがバイトの扱い、
charやintなどの型、構造体を加え、1972年頃にC言語が誕生します。UnixをC言語で書き直したことで移植性が生まれ、1983年には2人でチューリング賞を受賞しました。 - ロブ・パイクとPlan 9に取り組んでいた時期に、トンプソンは食堂の紙ナプキンの上でUTF-8の仕組みを書き上げました。一晩で実装されたその設計は、すぐに採用されました。
- Googleでは、C++のビルドの遅さと言語の複雑さをきっかけに、2007年にトンプソン、ロブ・パイク、ロバート・グリーズマーの3人でGo言語を作り始めます。3人全員が納得した機能しか入れないというルールのもとで作られ、2009年にオープンソースとして公開されました。
チャプター
- 0:00 イントロ:源流は一人に集約する?
- 0:17 ケン・トンプソンとは何者か
- 0:38 この動画で分かる4つの謎
- 1:08 1943年生まれ、転勤族の少年時代
- 1:31 日本で電話線を自作した少年
- 2:36 UC Berkeleyで電気工学を専攻
- 3:52 1966年 ベル研究所に入所
- 6:16 あえて非力なPDP-7を選んだ理由
- 7:31 妻子不在の3週間で書き上げたUnixの原型
- 9:41 時は遡り、テキストエディタQEDの改良
- 10:08 正規表現の発明
- 11:05 grep誕生の瞬間(Global Regular Expression Print)
- 12:09 4KBの制約の中で作ったB言語
- 12:43 デニス・リッチーが型とバイトを導入
- 13:12 1972年 C言語の誕生
- 14:54 1983年 チューリング賞受賞
- 15:45 次世代OS「Plan 9」への挑戦
- 17:03 食堂のナプキンで生まれたUTF-8
- 17:45 ベル研究所を去った理由
- 18:18 Googleでの最初の仕事「Google Books」
- 19:22 2007年 3人が始めたGo言語の構想
- 21:14 2009年 Go言語オープンソース公開
- 21:36 現在のトンプソン「ほとんどGoでしか書かない」