Overview
This video follows the life of Brian Kernighan, born in Toronto in 1942: the K in K&R, co-creator of AWK, and author of many Unix tools and classic books. Built from three of his interviews and talks, it traces half a century of Unix and C around three keywords: constraints, luck and fellowship.
Throughout, Kernighan insists that Ken Thompson and Dennis Ritchie invented Unix and that he was simply in the right place at the right time.
Key Points
- After a 1967 Bell Labs internship next door to Richard Hamming, he and Shen Lin developed the Kernighan–Lin heuristic for graph partitioning. Stephen Cook’s NP-completeness theory soon explained why no efficient exact algorithm turned up.
- Kernighan says Unix became so clean because the machines were weak: limits forced general mechanisms such as the hierarchical file system and pipes, which Ken Thompson implemented in one night in 1973 after years of urging from Doug McIlroy.
- He talked Dennis Ritchie into co-writing The C Programming Language (1978), which started the “hello, world” tradition. He also built small languages such as AWK (1977, with Aho and Weinberger), EQN, PIC and AMPL.
- After the breakup of AT&T, he left Bell Labs in 2000 after 32 years and became a Princeton professor, starting a course on how computers work for non-technical students.
- He sees Go as the heir to the spirit of C, warns against piling up dependencies nobody understands, and credits his career to luck, adding Pasteur’s line that chance favors the prepared mind.
Chapters
- 0:00 Chapter 1: The humble giant
- 1:56 Chapter 2: Canadian roots
- 5:07 Chapter 3: The first AI boom
- 7:15 Chapter 4: Princeton and MIT
- 10:01 Chapter 5: Bell Labs
- 14:17 Chapter 6: Graph partitioning and NP-completeness
- 16:48 Chapter 7: The birth of Unix
- 20:08 Chapter 8: The PDP-11 and the Unix philosophy
- 25:10 Chapter 9: The birth of the pipe
- 29:41 Chapter 10: C and K&R
- 37:05 Chapter 11: The beauty of small languages
- 43:44 Chapter 12: The golden age and its decline
- 48:36 Chapter 13: The breakup, and becoming an educator
- 53:03 Chapter 14: New languages and Go
- 1:01:00 Epilogue
概要
1942年にカナダのトロントで生まれたブライアン・カーニハンの人生をたどる動画です。カーニハンはK&RのKであり、AWKの共同開発者であり、数々のUNIXツールと名著を書いてきた人物です。本人が語った3本のインタビューと講演をもとに、「制約」「幸運」「仲間」をキーワードとして、UNIXとC言語の半世紀の歴史をたどります。
カーニハン自身は一貫して、UNIXを発明したのはケン・トンプソンとデニス・リッチーで、自分は正しい時に正しい場所にいただけだと語っています。
ポイント
- 1967年、ベル研究所のインターンでリチャード・ハミングの隣の部屋に配属され、その後シェン・リンと組んで、グラフ分割問題のヒューリスティックであるカーニハン・リン法を生み出しました。正解を保証する効率的なアルゴリズムが見つからなかった理由は、まもなくスティーブン・クックのNP完全性の理論で明らかになります。
- カーニハンは、UNIXがこれほど美しくなったのはマシンが貧弱だったからだと言います。制約が、階層型ファイルシステムやパイプのような汎用的な仕組みを生みました。パイプは、ダグ・マキロイの長年の説得に応えて、1973年にケン・トンプソンが一晩で実装したものです。
- デニス・リッチーを説得して共著にした『プログラミング言語C』(1978年)は、「hello, world」の伝統の始まりになりました。カーニハンはAWK(1977年、エイホ、ワインバーガーと共同)、EQN、PIC、AMPLといった小さな言語も作ってきました。
- AT&Tの解体を経て、2000年に32年勤めたベル研究所を離れ、プリンストン大学の教授になって、技術系ではない学生向けにコンピューターの仕組みを教える講義を始めました。
- GoをCの精神の後継者と見る一方で、誰も中身を理解していない依存関係を積み上げることには警鐘を鳴らします。自分の歩みは運のおかげだと言いながら、「幸運は準備された心に味方する」というパスツールの言葉を必ず添えます。