K&R

投稿日:2011年10月14日 作成者:yasunaka

K&Rといえば、プログラマの世界(の中でもちょっと上の年代?)にとっては、C言語を開発した二人の巨匠の、カーニハンさんとリッチーさんのことですよね。この二人が書いたK&R版の『プログラミング言語C』は、長い間、バイブル中のバイブルで、私もだいぶお世話になりました。

C言語はUNIX、そしてLinuxをはじめ、さまざまなシステムの一番基盤的な言語で、これ無しには現在のコンピュータの世界はありえないのですが、その礎を作ったK&Rのうちの一人、デニス・リッチーさんが亡くなったというニュースがYahooに流れていました。一般の人にはあまりなじみのない人かもしれませんが、この人の功績は実は非常に大きなものだと思います。

UNIXやC言語を開発したきっかけは、当時働いていたベル研究所に、ミニ・コンピュータのPDP-7がたまたま(しかもほぼ廃棄に近い形で)あったからだそうです。それを動かすために汎用的なOSとして開発されたのがUNIXで、それをさらに別のマシン、PDP-11に移植するために開発したのがC言語だ、ということ。

それぞれ実は原型といえるもの(UNIXはMultics、C言語はB言語)があったのですが、それをベースにしたとしても、きちっと実用的なものに仕上げ、実際に使えるものにしたというのは、本当にすごい。そしてその影響の大きさは、今となっては計り知れないものがあります。

Windowsだってその多くはC言語(およびその改良であるC++)で書かれているはずですし、今をときめくiPhoneだって、そのプログラミング言語のObjective-Cは、実はC言語です。AndoroidはLinuxベースですが、そのLinuxも基本はUNIX互換製品であり、AndoroidアプリはJava言語で書かれていますが、このJavaだって、元となっているのはC言語です。

さらに、これらの仕事は彼らがまだ20代のときに、わずか数年で成し遂げていた、というのが驚きです。

もちろん、それらが普及して一般化するまでには、他のさまざまな人々の努力が加わった結果であることも間違いありません。ただそれだけ、多くの人を巻き込んだ、非常に魅力的な仕組みがUNIXであり、C言語であった、ということだと思います。