人物 :: PERSON

デニス・リッチー

C 言語の設計者(1972年)であり、Ken Thompson と共に UNIX を作り上げた人物。Bell 研究所で生涯を過ごした。1983年に ACM チューリング賞、1999年に米国国家技術賞を受賞。Steve Jobs が他界した1週間後、2011年10月12日に静かに死去 ── そのニュースは Jobs の追悼の影に半ば隠れた。

デニス・リッチーのポートレート
出典Denise Panyik-Dale (Wikimedia Commons) · CC BY 2.0 · Commons で見る

プロフィール

生年
1941
没年
2011
在世
70 年
関連事象
02
名称
ENDennis RitchieJAデニス・リッチー

デニス・リッチー

デニス・マカリスター・リッチー(Dennis MacAlistair Ritchie、1941-2011)は、C 言語の設計者であり、Ken Thompson と共に UNIX を作り上げた計算機科学者である。生涯の大半を Bell 研究所で過ごし、表舞台に立つことを好まなかったが、彼が残した二つの遺産 ── C と UNIX ── は、現在に至るまで世界中のオペレーティングシステム、 言語処理系、 ネットワーク機器、 組込み機器のほぼ全てに、直接あるいは間接の血脈として流れ込んでいる。

経歴

リッチーは1941年9月9日、 ニューヨーク州ブロンクスヴィルに生まれた。 父アリスター・リッチーは Bell 研究所の長年のスイッチング技術者で、 リレー式論理回路に関する標準的教科書『The Design of Switching Circuits』(1951年)の共著者でもある。 父の影響は色濃く、 デニスもまた Bell 研究所に職を求めることになる。

ハーバード大学で物理学を学び、 1963年に学士号、 1968年に応用数学の博士論文(subrecursive 階層に関するもの)を提出した。 だが学位はついに授与されなかった ── 彼自身の説明によれば、 製本した論文をハーバード大学に提出する手数料 ── 当時で数十ドル ── を支払うのを忘れていたためである。 この逸話は、 リッチーという人物の風通しのよい虚栄心の薄さを象徴するものとして、 後年しばしば引用される。

1967年、 リッチーは Bell 研究所のコンピューティングサイエンス研究センター(1127号棟)に入所する。 そして以後、 死去するまで44年間、 一度も組織を移ることはなかった。

主な業績

UNIX(1969-)

1969年、 MIT・GE・Bell 研究所の共同プロジェクト Multics から Bell が撤退した直後、 Ken Thompson は、 倉庫の隅で埃をかぶっていた DEC PDP-7 上で、 小型で扱いやすい時分割オペレーティングシステムの試作を始める。 これが UNIX の原型である。 リッチーは初期から参加し、 ファイルシステム、 デバイスドライバ層、 そして後の C 言語による全面書き直しを主導した。

UNIX の設計思想 ── 「小さなツールを組み合わせる」、 「全てはファイルである」、 「テキストが共通のインターフェースである」 ── は、 リッチーと Thompson、 そして Brian Kernighan、 Doug McIlroy ら 1127号棟の少人数チームによって彫琢された。 ARPA や AT&T からの大規模な予算はなく、 むしろ研究所内部の自由時間で進められた点が、 後世の伝説の核となっている。

C 言語(1972-)

UNIX の最初の版はアセンブラで書かれていたが、 1971年から1973年にかけて、 リッチーは Thompson が作っていた B 言語を発展させ、 構造体、 型システム、 ポインタの体系を備えた新しい言語 ── C ── を設計した。 1973年、 UNIX カーネルそのものが C で書き直された。 これは、 ハードウェア記述に近い性能を保ちつつ、 移植可能な OS を書くという ── それまで誰も真剣には信じていなかった ── 構想の最初の成功例である。

1978年、 Brian Kernighan との共著『The C Programming Language』(通称 K&R)が出版される。 古典的な「hello, world」が初めて活字になったのもこの本である。 K&R は、 簡潔さと密度において後続のあらゆる言語入門書の規範となった。

C は1989年に ANSI 標準化(C89)、 翌1990年に ISO 標準化された。 以降、 Linux カーネル、 Windows NT のカーネル、 macOS の下層、 ほぼ全ての組込みシステム、 Python や Ruby などのインタプリタ ── 現代のソフトウェアの基盤層のほとんどが C で書かれている。

Plan 9 と Inferno

1980年代後半、 リッチーは Thompson、 Rob Pike らと共に、 UNIX の継承者となる分散 OS Plan 9 from Bell Labs の開発に参加した。 Plan 9 は商業的には広まらなかったが、 UTF-8 の採用、 /proc ファイルシステムの一般化、 後の Go 言語につながる設計思想を残した。 1990年代には派生 OS Inferno の開発も主導している。

受賞・栄誉

  • 1983年 ── ACM チューリング賞(Ken Thompson と共同受賞、 「汎用オペレーティングシステム理論の発展と UNIX オペレーティングシステムの実装に対して」)
  • 1990年 ── IEEE Richard W. Hamming Medal
  • 1999年 ── 米国国家技術賞(National Medal of Technology、 クリントン大統領より授与)
  • 2011年 ── 日本国際賞(Japan Prize、「情報通信」分野、 Ken Thompson と共同受賞)

影響

リッチーは生涯独身で、 ニュージャージー州バークレーハイツの自宅で2011年10月12日に亡くなった。 享年70。 心臓疾患と前立腺癌に長く苦しんでいたとされる。 一人暮らしで発見が遅れ、 正確な死亡日は推定である。

その死は、 ちょうど1週間前に他界した Steve Jobsの追悼の波の影に半ば隠された。 ソーシャルメディア上では「Jobs は iPhone を作ったが、 リッチーが書いた C と UNIX がなければその iPhone は動かなかった」という指摘が広く共有された。 macOS と iOS のカーネル(XNU)は BSD/Mach 系統、 すなわち UNIX の子孫であり、 リッチーの遺産が Jobs のプロダクトの土台になっていたのは事実である。

リッチーは終生、 Bell 研究所の一介の科学者であり続けた。 ベンチャー創業も、 大学教授職も、 一般向け著作活動も求めなかった。 K&R 本の印税以外には目立った財産も残さなかったとされる。 同僚の Brian Kernighan は追悼文で「彼は控えめで、 礼儀正しく、 そして我々が知る限り最も知的に正直な人物だった」と書いている。

C 言語と UNIX なくして現在の計算機文化は存在しない、 という言い方は誇張ではない。 リッチーの仕事は、 「アプリケーションの下にあって普段は見えないが、 動かなくなって初めてその存在が認識される基層」を作ったものだった。 そして彼自身が、 まさにそういう存在として、 静かに去った。

関連する出来事

  1. 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 の祖である。
  2. 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 を意識して設計されている。

共有