「IT社会を築いたもう1人の巨人デニス・リッチーを悼む 2011年10月21日」の初稿

現代のIT社会を築いたデニス・リッチーC言語 (2011年10月15日脱稿)

 コンピューターは何でできている?
 演算をするプロセッサに、メモリやハードディスクの記憶装置、キーボードやマウス、それにディスプレイ、それから…。
 それは答えの半分でしかない。それらはみんなハードウェアだからである。コンピューターは、残りの半分、ソフトウェアがなければ、ただのガラクタにすぎない。
 ソフトウェアの中でも、もっとも重要なものがオペレーティング・システム(OS:基本ソフト)である。OSがなければ、現在のコンピューターは動作しない。
 OSはC言語によって飛躍的な進化を遂げた。そのC言語の生みの親であるデニス・リッチーが他界した。コンピューター史におけるC言語の意義を紹介することで、追悼したい。

 コンピューターは「0」と「1」の二つの記号だけで動いており、「0」「1」のみで表記された言語は機械語と呼ばれる。1940年代、コンピューターが誕生したばかりの頃、人間は機械語でコンピューターに指示を与えなければならなかった。
 ところが、人間にとって機械語を扱うことは至難の技であった。そこで、人間に分かりやすい表現でプログラムできる高級言語が開発された。高級言語は、自動処理で機械語に変換されて、コンピューターに指示を与える。代表的なものとして、1950年代、科学計算用にFORTRANが、事務処理用にCOBOLが開発された。
 C言語が開発されたのは1972年であるが、他の高級言語にはない大きな特長を持っていた。OSを記述(開発)することができたのである。デニス・リッチーは、ベル研究所の同僚だったケネス・トンプソンとともに開発した代表的なOSであるUNIXを、自らC言語で記述し直すことに成功した。
 OSはそれまで、高級言語機械語の中間に位置するアセンブリ言語で記述されていた。それが高級言語で記述できるようになり、コンピュータシステムは飛躍的に発展する。

 OSの重要性は1980年代以降、明らかになる。コンピューター業界の主役が、ハードウェアメーカーの巨人IBMから、ソフトウェアの新興勢力であるマイクロソフトに移り、ソフトウェアの時代が始まる。ハードウェアが量産効果で価格(利益)を下げていく一方で、マイクロソフトは、コンピューターには必須のOSで市場をおさえ、莫大な利益を上げていった。
 OSに限らず、コンピュータシステムに直結するプログラムは、ほぼC言語で記述される。C言語の開発は、間違いなくコンピューター史上に残る業績であり、実際、IT産業を支えている重要な基幹技術となっている。

 それにしては…というのが、デニス・リッチーの訃報に接したときの正直な感想である。先日のスティーブ・ジョブズの訃報が全世界を駆けめぐったのとは、あまりにも対照的に、静かな扱いだ。

 科学技術の最高の栄誉に1901年に始まった「ノーベル賞」がある。科学の分野は「物理学賞」「化学賞」「生理学・医学賞」である。そこに数学がないことから1936年に「フィールズ賞」が設立された。そして、1966年、計算機科学の最高の栄誉として「チューリング賞」が制定された。
 チューリング賞は、これまで、57名に贈られているが、デニス・リッチーは、その限られた受賞者のうちの一人である。ちなみに、ノーベル賞フィールズ賞には日本の受賞者がいるが、残念ながら、チューリング賞では、いまだに日本人受賞者は出ていない。

 一般の人たちにとっては馴染みの薄いデニス・リッチーだが、計算機や情報の分野に携わっている人たちにとっては特別な存在だろう。特に、ブライアン・カーニハンと書いた「プログラミング言語C」(二人の頭文字をとって、通称『K&R』と呼ばれる)は、C言語の古典であり、多くの人が持っている。しかし、プログラム記述の技巧がすごすぎて最後まで読み切っている人は少ないともいわれている。
 デニス・リッチーの訃報に接して、書棚から『K&R』を取り出し、昔を思い出して開いた人も多いのではないかと思う。