2008年10月17日金曜日

UNIXとC言語の歴史、そしてサン

1965年、AT&Tベル研究所が中心となりOS「Multics」(マルチックス)が開発されます。しかし複雑さゆえプロジェクトは座礁します。

AT&Tベル研究所のケン・トンプソンが1969年、メインフレームで動いていた研究中のMulticsの上でゲーム"Space Travel"(宇宙船を操作し、惑星に着陸させる)を走らせていたところ、当時の計算機の利用には使用料が課金されていたのでしょう、なんとか安く動かせないかと、デニス・リッチーとともに、研究所の片隅に転がっていたガラクタ同然のコンピュータ(DECのPDP-7)でMulticsを単純化して走らせました。これがUNIXの誕生です。

UNIXという名前は、共同研究者だったブライアン・カーニハンが、撤退した「Multics=Multi+cs」を皮肉ってMulti(複)に対してUni(単)として「UNIX=Uni+cs」と名付けたという逸話があります。

同じ頃、ケン・トンプソンはB言語を作ります。B言語はその後、トンプソン自身とデニス・リッチー、そしてブライアン・カーニハンによって改良を加えられ、NewBを経てC言語へと発展していきます。アセンブラで記述されていたUNIXはC言語で書き直されます。

1976年、AT&Tベル研究所からUNIXを持ってカルフォニア州立大学バークレー分校にやってきたケン・トンプソンは、UNIXを授業で使う傍ら、教育のため、PascalをUNIX上に移植しています。彼がバークレーから去ったあと、そのPascalを完成させたのは、彼の助手をしていた、ビル・ジョイとチャック・ヘイリです。ビルの関心は数学がベースとなる理論としてのコンピュータでした。しかしUNIXとの出会いがその後の進路を大きく変えることになります。

ビル・ジョイは、1977年にPascalコンパイルを仕上げ、その後コーディングのためのviエディタを書き、バグを修正したUNIXを友人に送ったのが契機となり、UNIXを発展させる活動がネットワーク上で広まります。

ビル・ジョイが中心になってバージョンアップを続けたUNIXが「BSD(Berkeley Software Distribution) UNIX」と呼ばれるようになります。

1982年、BSD UNIXを開発していたビル・ジョイは、スタンフォード大学の大学院で学んでいたビノッド・コースラ、アンディ・ベクトルシャイム、スコット・マクニーリらとともにサン・マイクロシステムズを設立します。

サンは当初から"The Network is The Computer"(ネットワークこそがコンピュータだ)という言葉を使い、そのとおり90年代にはインターネットサーバの会社として急成長を遂げます。この言葉はどんな人、モノであれ、ネットワークに接続することで、コンピュータとしての価値を享受できることを意味しています。まさに現在のインターネット社会を予見していたようです。

そんなサンの戦略として、Javaはビル・ジョイが中心となり、ネットワークを包括的に機能させるためのプラットフォームを超えたアプリケーションを構築するための開発言語として生まれました。(つづく)

[参考]
ビル・ジョイの冒険―ネットワークをコンピュータにした人々
「UNIX」の由来とその歴史
UNIXの歴史
B言語