見出し画像

私の知っているビルゲイツ、その12

ビルゲイツ、自分の限界を知りプログラムを書かなくなったわけ

1970年代の後半から1980年代の初頭においては、㈱アスキーがマイクロソフトの代理店として活動していた時代がありました。その頃は西和彦さんが次々と日本の会社へのアプローチを実現し、多くの日本人プログラマが日本だけではなく、アメリカに長期滞在して日本向けのBASIC言語その他の移植作業をしていました。1982年前後はIBMPCの出荷に併せて日本のメーカーによるIBM互換機の投入に並行して、8ビット機としての終焉を飾るPC-88シリーズから、世界初のGUIべースのパソコンNEC PC-100, 日立のBAISCマスター、沖電気のif800、NCR9005、YE-Data、ALPSなどのハードウェアが次から次へとシアトルのマイクロソフト本社に持ち込まれBASIC言語の移植に日夜、日本人も関わりを持っていました。当時の開発環境はDEC社のSystem2060という36ビットワードマシンで、日本では第5世代のコンピュータ開発のためにPrologueなどを運用していましたが、このマシンをクロス開発環境に利用して6809、Z80, 6502、8085用のコードを生成していました。

当時京セラ殿が開発し、米国ではTandy Radio Shack社からM-100として、NEC殿からはPC-8200 の名前で出荷されるはずの世界初ラップトップ・コンピュータの開発に取り組んでいました。主たる機能は、CPU: 80C85 (沖電気製CMOS 8bit、クロック2.4MHz), ROM:32Kb、RAM:8Kb、白黒液晶(640x200)、ソフトウェア: model 100 BASIC(マイクロソフトBASIC)、TELECOM(通信ターミナルソフト)、TEXT(スクリーン・エディタ)、SCHEDL(スケジュール管理プログラム)、ADDRESS(住所録プログラム)、単3電池4本にて18時間駆動。限られたメモリスペースの中で(なにせ、提供される全てのプログラムサイズは32Kbで、MバイトでもGバイトでも無く、32Kbという今のご時勢ならデジカメの映像どころか、ホームページに張り付いている小さなJPEGファイル以下のサイズに、前述のBASIC言語、簡易ワープロ機能、スケジュール管理、通信、住所録を全て押し込んでいました。

この開発には、当時の㈱アスキーより、山下良蔵氏、鈴木仁志氏、林淳二氏の三人がシアトルのMS本社に派遣され、数ヶ月の間マイクロソフトBASICのソースコードをベースに全ての機能を32KbのROMに凝縮していったのです。ビルゲイツも西和彦さんもこのプログラマー三人には全幅の信頼を寄せていましたが、マイクロソフト全社員の数も300人以下でしたが、1983年というタイミングでは既にIBMPCも発売されて2年が経過しており多くの技術者がMS-DOS, XENIX(マイクロソフト製UNIX), ワードやマルチプランなどのアプリケーション、Oki if800, PC-8800, NEC PC-100, MSXなどの開発に従事しておりM-100の開発は日本人三人の力に全てがかかっているという状態でした。

毎日更新アセンブルされる、その日出来立てのソフトウェアそれもたったの32Kbを日本まで送る国際データ通信も無く国際郵便はコストも時間もかかるご時勢でしたので、出来上がったプログラムをROMに焼き込んで、毎日昼ごろシアトル空港に出かけて東京行きのフライトに乗り込む見ず知らずの日本人観光客に「成田に着いたらこの封筒をポストに投函してもらえますか?」と頼みにいくのも私の仕事でした。(当時は、アスキーマイクロソフトという会社の副社長で営業担当)
プログラミングも佳境に入って、三人のプログラマーがシアトルで不眠不休の努力をしていたのでした。時々ビルゲイツは開発の途中経過をレビューしたり、プログラミング上の助言を与えたり、他のプロジェクトでは自らコーディングをしたり、などという関わり方をしていました。ビルゲイツはその当時もマイクロソフトBASICのプログラム全てのソースコードを頭に入れていましたから、無駄なコードは1バイトも無いギリギリのコーディングをするということに全社真剣に取り組んでいました。しかし、M-100 のプログラム格納スペースはたったの32Kb全ての機能を押し込むには、何らかの犠牲が必要で最終段階でもテキスト編集はカーソルを画面に自由に動かして編集するスクリーン・エディタではなくライン・エディタ(編集するときは、行の先頭から1行分しかできない)という編集ソフトを何とか納めていた状態でした。

ビルゲイツはこのプログラムのソースコードを1行でも削ることができたら、1行あたり50ドル払っても良いなんて懸賞を社内に張り出すも大きな進展が無いまま納入期限が迫ってきます。シビレを切らしたビルゲイツ君は日本人のプログラマー達に「お前らが無能だから32Kbに納まらないんだ?この俺様が週末にでもチョットプログラムを書けばこんな仕事はアッと言う間に解決してしまうのに、ヘッポコ・プログラマー(えーと英語にヘッポコという表現は無いので、Fから始まる4文字言葉だと思ってください)に任せているから無駄に何ヶ月もかかってしまった、と体を震わせながら怒りまくっていました。
そうまで言われるのならと、三人の中でもとりわけ天才プログラマーとしてその実力を私もかっていたJay鈴木こと鈴木仁志が、「ビル、だったらこの週末に勝負しましょう!!」と提案して、Jayは本当に月曜日の朝32Kbにコードを納めて完成させてしまったのでありました。ビルゲイツ君というと、彼は一瞬頭の中でこうすれば解決だとアイディアが浮かび月曜日にはプログラムこそ一行も書いていなかったのだけど、月曜に三人のプログラマーを集めて会議室のホワイトボードに自慢げに自分のプログラミングを一挙に書き上げました。ビルゲイツ君の顔は「どうだ見たか?無能なお前らと違っておれこそ天才なんだ!!」と勝ち誇ったような顔をしていました。

それをジーッと見ていたJay鈴木は突然閃いて、「ビル、そのやり方だと旨く動くと思っているだろうけれど、残りのRAMスペースが足りなくなった時にリプレースコマンドが動かなくなると思うよ!」と一言..8kbしかない内部メモリはファイルをセーブする領域にも使っていたので、その指摘は正しくてビルゲイツ君の完敗、Jay鈴木のコードが結局使われることになって三人は勝利の祝杯の代わりに「イースターエッグ」という開発に関わったエンジニアがコッソリ自分たちの名前を暗号化してコードの一部に焼き込んで、特殊なキー操作をすると製作者名が画面に表示されるものに三人の名前を焼きこんでプログラムを完成させました。

ビルゲイツ君の完敗なので、ビルゲイツ君はJayに報奨金の500ドルを小切手で渡してJayのオフィスの壁には戦利品としてしばらくその500ドル小切手が貼ってあったのだけど、ほどなく全部飲んでしまったとのこと、もし上場前のマイクロソフトの株券で500ドル分もらっていれば、今なら数千万円になっていたかもねぇ..Jay曰く、一行削ったら50ドルというはずなのに500ドルで済まそうというビルは渋い..。ビルゲイツ君これを最後にマイクロソフトに働くプログラマーに対して、お前がバカだから俺が代わりに書いてくると言って自らプログラムを書くことを辞めてしまいました。小説家の断筆宣言みたいなものね..後に自分でマイクロソフトの歴史を語る中で、ビルゲイツは「IBM PC発売後も1983年頃まで自分でプログラムを書いていましたよう、最後に書いたプログラムはTandyのM-100用かな?」なんてインタビューを受けているのですが、Jay鈴木に言わせると「ビルゲイツのコードはオリジナルのBASIC以外に一行も入っていない」そうです。

プログラミングの実力で自分が若い人間に負けたと思った瞬間に自分は一歩退いて後輩のその任を譲る、ビルゲイツ君にもそういう思いをする瞬間があり、そのキッカケを作ったのが日本の天才プログラマーであったのでした。その後もしばらくの間は、「お前らバカじゃないの!!!」と人を罵倒することはあっても、「俺にやらせろ、月曜の朝までにおれが書いてくるから」とは決して言わなくなったのでした。でも、チーフ・ソフトウェア・アーキテクトというタイトルになった後も、昔プログラマーだった頃の眼力で議論に加わってくるので、若い皆も手が抜けないし兄貴分として良い助言者で在り続けられたのだと思います。

では、ふるかわでした

この記事が気に入ったらサポートをしてみませんか?