ビル・ゲイツ、ポール・アレン、ケント・エバンス、リック・ウェイランドの4人は自分達のグループをレイクサイド・プログラマーズ・グループ(LPG)と呼ぶことにし、彼らはISIに手紙を出して、プログラミングのサービスを提供する代わりに、その間コンピュータを無料で使わせて欲しいと申し入れた。ところが全く相手にされないので、彼らはポートランドまで列車に乗って行き、腕前を見せた。
そこでISIは、給与計算プログラムを書く仕事をLPGに与えた。期限は11月18日。プログラムは全てビジネス用のCOBOLという言語で書くようにとの指定があった。COBOLを知っているのはリック・ウェイランドだけで、あとの3人はCOBOLを知らず、慌てて1夜漬けで勉強することになる。
全くの素人がCOBOLでプログラミングするのは大変だったろう。11月18日までにできるわけがない。結局、開発は翌1971年1月から1972年6月までの1年半かかることになる。
オレゴン州ポートランドに長期滞在して開発できなかったので、開発にはワシントン大学大学院のコンピュータ・サイエンス研究室を使わせてもらった。ポール・アレンがビル・ゲイツを連れてこようとしたところ、ビル・ゲイツがケント・エバンス、リック・ウェイランドも連れてきてしまった。
彼らの端末を使用する時間はあまりに長すぎ、しかも4人が一斉に使うことがあった。印刷を長々と続けたまま、端末を離れることがよくあり、騒音は凄まじかった。ある教授から研究の邪魔になるので出て行って欲しいとまで言われたという。この危機は端末を別の場所に移すことで回避し、給与計算プログラムの開発は継続された。
ISIと厳密な契約を結ぶ
1971年8月、ISIは、給与計算プログラムの進行状況が思わしくないこと、説明用のドキュメントの出来栄えが良くないことを理由として、LPGに対して約束を反古にすると通告してきた。16歳の子供が給与計算の実務を理解することはかなり難しかったと思われる。ケント・エバンス、ビル・ゲイツは、うまく利用されたと怒って、弁護士をしているビル・ゲイツの父親を引っ張り出し、ISIとLPGの間で厳密な契約を結ばせることにした。
弁護士を使って厳密な契約を結ぶことが、その後のビル・ゲイツの仕事の特徴になる。ここではまだ法廷闘争になっていないが、必要な場合は法廷闘争も辞さないようになる。ビル・ゲイツの仕事のスタイルで特徴的なのは、厳密な契約を結んで相手には遵守することを求めるが、自分達は契約の遵守などまるで問題にしなかったことである。後年、これらの特徴が全て表面に出て、ますます磨きがかかることになる。
変わっているのは利益配分で、ビル・ゲイツが11分の4、ケント・エバンスが11分の4、リック・ウェイランドが11分の2、ポール・アレンが11分の1であった。利益を均等に配分せず、寄与に応じてというのが主張だが、ビル・ゲイツが自分の取り分を最大にするという特徴が見える。これは後年にも同じようなことが行われる。リック・ウェイランドはスタンフォード大学に、ポール・アレンはワシントン州立大学に入学することになったので1971年秋には開発の現場を離れている。給与計算プログラムは遅延を重ねた末、1972年6月末に一応完成した。
マイクロプロセッサの勃興
ポール・アレンは、1971年ワシントン州立大学の1年生のときに、雑誌で4ビットのマイクロプロセッサのインテル4004(i4004)の出現を知って興奮した。
翌1972年、ポール・アレンは、8ビットのマイクロプロセッサのインテル8008(i8008)についてエレクトロニクス誌を読んで知った。メモリ空間は14ビットすなわち16キロバイトであった(2を14乗すると、16000に近い値になる)。このi8008で高級言語を動かせたらすごいと思った。
そこで、ポール・アレンはビル・ゲイツにi8008用のBASICを書こうと提案した。現実主義者のビル・ゲイツは、i8008は遅すぎるし、メモリが16キロバイトではBASICにほとんどメモリを食われてしまい、アプリケーション・プログラムを置けないから、開発など時間の無駄だと言ったという。ただ2人ともi8008に興味が全くなかったわけではない。
道路の交通量調査
ビル・ゲイツとポール・アレンは、ひょんなことからi8008と関係を持つことになる。
当時ワシントン州やシアトル市は道路の交通量調査をして、信号機の設置や信号の間隔調整に役立てたいと考えていた。圧搾空気の入ったゴム管を使い、その上を自動車が通過すると、インパルス波が出て、それを検知器が検知し、16チャンネル(16個)の穴を空けられる紙テープにデータを窄孔する。普通のテレタイプで使うテープは8チャンネルだから2倍の幅を持つ紙テープである。少し専門的な言い方をすれば、計測の分野で好まれた2進化10進数(BCD:バイナリー・コーデッド・デシマル)符号の4桁データである。10進数で0000から9999までのデータを2進化10進数に変換している。
昔のことであるから、これをコンピュータが処理できるようにするには、いわゆる80桁のIBMカードにパンチしてやらなければならなかった。この16チャンネルの紙テープ上のデータの読み取りは、実は人間がやって紙の上にメモしなければならなかった。州政府や市の当局は、下請けの業者にこのデータの読み取りを委託していた。その業者からの仕事をさらにビル・ゲイツが下請けし、さらに下級生達に下請けさせていた。
何と馬鹿げたことかとビル・ゲイツは考えた。16チャンネルの紙テープを自動的に読み取って出力できる装置があればよいのである。ビル・ゲイツとポール・アレンは、ここにi8008が使えないかと考えた。
つまりi8008を使って、データを自動的に読み込むシステムを開発しようということになった。ただ問題は、ビル・ゲイツもポール・アレンもハードウェアには強くないということだった。そこでポール・アレンの友人のつてを頼ってワシントン大学の電気工学科のポール・ギルバートという学生に行き着いた。
トラフ・オー・データの設立
何度か顔合わせの後、3人で会社らしきものを作ることになった。会社名とこれから作る装置名は、ビル・ゲイツの提案でトラフ・オー・データとなった。ハロウィーンのときに使うカボチャをくり貫いた灯篭をジャック・オー・ランタンというが、これからヒントを得たという。あまり冴えた名前ではない。
ポール・ギルバートは、ワシントン大学にだけしか適用されない割引価格の360ドルでi8008を購入した。このお金はビル・ゲイツが出した。ポール・ギルバートはワシントン大学の研究室の設備や機器を利用して装置を作り始めた。
難関は雑音信号に弱いメモリ素子を正しく動作させることにあり、この解決に1年以上もかかったという。システムは、1974年5月にやっと完成した。そこでビル・ゲイツとポール・アレンは、i8008を使ったシステム用のソフトウェア開発に乗り出した。
本来i8008を使った装置用のソフトウェア開発は、i8008を使った装置の上で開発されるべきだが、実は何もなかった。アセンブリ言語で書いたプログラムを機械語のプログラムに変換するアセンブラもなかった。それを開発しようとすれば、非常に大きなメモリを必要とするが、i8008のメモリ空間はわずか16キロバイトしかなかった。これでは軽快な開発などありえない。
もしどうしてもということなら、アップルのスティーブ・ウォズニアックがやったように人間がアセンブラになるしかない。左側にアセンブリ言語のプログラムを書き、命令表を見ながら右側に機械語のプログラムに翻訳していく。しかし、これはきわめて効率の悪い開発法である。
i8008のシミュレータを開発
そもそもi8008を使ったマイクロコンピュータなど存在しなかったのである。存在しないコンピュータを使ってソフトウェアの開発などできるだろうか?
ポール・アレンは、非常に明快な解決法を採用した。彼の独創ではないけれども、大型コンピュータの上でi8008の動作を模擬するプログラムを書いてしまうのである。これをシミュレータという。プログラムだけでなく、ハードウェアの支援を受けて模擬するプログラムのことをエミュレータという。
この記事は有料会員限定です
残り 29858文字
