UNIXの中へ そしてNeXTへの道
1988年にUNIXと出会って、おおいに興味を持ちはじめたわけですが,その当時使っていた日立製の6800用マルチタスクモニターの解析を行って、マルチタスクシステムの構成と、実際の実装も勉強したわけです。組み込みなのでROMで動くわけですが、外部記憶装置は使っていなくてファイルシステムに関してはUNIXを見ていました。ちょうど6809用のOS-9というOSとMC68000用のCP/Mにも触れるチャンスがあって、ファイルシステムの違いを見てみたら、ことごとくUNIXのパクリである事がわかりました。MS-DOSも同じでした。
https://www.hitachihyoron.com/jp/pdf/1982/07/1982_07_04.pdf
モジュラープログラミングからオブジェクト指向プログラミングも勉強していて、OSのサポートと実装したプログラムの関係もいろいろ考えていた時期でした。
最も強力なモジュール構造がオブジェクトであると理解していて、開発環境や言語はどっちにしろ手に入らない状態だったのでプログラムの構造とそれを支えてハードウエアなどのI/Oをどう扱えべきかOSに対して妄想をしていました。自分で考える理想のOSと開発環境を想像して、それに近いものを探していたのです。
当時、Appleとはそんなになじみがなく、知り合いが持っていたAppleIIを興味深くみていて、グラフィカルインターフェイスには心惹かれたわけですが、OSが搭載されていなくて興味はそこまでした。X-WindowSystemは使っていたので、GUIとマウスによるユーザーとのインターフェイスは慣れてきて、たくさんの人に使ってもらうにはこれしかないとは思っていました。Macの人間味のある設計思想には惹かれました。もちろんSteve Jobsが作っていて、彼はAppleを追い出されていたことは知っていました。
そんな時、突如NeXTが出現したわけです。アメリカのコンピュータ雑誌や日本のコンピュータ雑誌でも大きく取り上げられて技術解説も読むことができました。Steve Jobsの新しい会社が作った新世代のコンピュータであることもあって、話題性も高く、著名なエンジニアも褒めちぎっていた感じでした。
しかし、「すごく良いけど、売れない」というのが大半の見かたで、普及は見込めないというのが大方の予想でした。技術資料が出てくるにつけて、僕はその構造が非常に美しく、無駄の無いものだと理解し、特にOSの部分の根幹部分であるカーネルに強い興味を持ちました。ユーザーと接する部分にはBSD UNIXを使っているというのも大きな魅力の一つだったのです。実際は一体化していたものの、UNIX部分をカーネルは分離した形で取り入れており、画期的な仮想記憶システムももっていました。Steve Jobsがやっているというおかげで、こんなたくさんの情報が雑誌の記事から得られたのです。
しかし、実際にプロトタイプハードウエアでベータ版が動いているのは日本では見れない状況でした。
どうしても直接動いている所を見たいという強い願望を抑え切れず、ちょうどUSボルチモアで開催されるUNIXのショーであるUSENIX1989に参加しました。日本人向けのツアーが組まれており、シリコンバレー見学を含めたものに参加することが出来ました。ツアー代金はけっこうな値段だったのですが、有給休暇を取って個人参加しました。後に旅行代金は補助されませんでしたが、休暇は取らずに済んだのです。海外のセミナーに個人参加するというのが工場としては初めてだったので特別な許可がおりました。
1989年のUSENIXでの個人としての目玉はNeXTのカーネル担当主任エンジニアであるAvie TevanianによるNeXTが採用しているMachカーネルのセッションでした。
事前に十分に調べておいていたとはいえ、内容は非常に高度なもので、ついていくだけで大変でしたが、終わった後に立ち話をしたのですけど、廻りの参加者も内容をしっかりと理解できている人はあまりいない状態でした。しかりした資料が配られましたが、こっそり隠れて講演を録音して後に詳しいレポートを書くことが出来ました。日本からの参加者も受講していたのですが、このセッションに関して話しあうのはできませんでした。
もう一つの楽しみにしていたセッションはRichard StallmanによるGNU C Compilerに関するものでした。なにせ作った人が解説してくれるので非常に価値のあるものでした。Richard Stallmanは既に今で言うOpen Softwareの開祖で、普段はMITに住んで(本当にそこで生活していた)人生の全ての時間をソフトウエアの発展に捧げていた人です。彼は本物の天才でした。膨大な量のGNU C コンパイラーのソースコードのすべてが頭の中に入っていて、コンパイラーの専門家らしき参加者からの質問に即答するのです。東海岸の出身の彼はかなり早口で内容を理解するのはますます難しかったのですが、隣の席の参加者がスエーデンから来た若いコンパイラーの専門家で何度も質問してRichard Stallmanと議論し、お互いに尊敬しあっている様子が非常に交換を持てるものでした。
参加者は同じUNIXのコミュニティーのメンバーであることを誇りにもっており、老若男女区別なく議論し、UNIXの発展に貢献しようという気概が感じられいままでかんしたセミナーや展示会とは全くちがうものでした。商用UNIXの関係者はほとんどいなくみんなカジュアルな格好で自由にリラックスして心からこのイベントへの参加を楽しんでいました。
NeXTが採用しているMachカーネルをしっかりと理解して、レポートもまとめたので、UNIXが動く基盤となるカーネルとBSD UNIXに関してしっかりとした知識を得ることが出来ました。しかし、レポートを作ったものの、社内では内容に関して議論できる人は全くいなくて、印刷したレポートを持ち歩いて話しの出来る人を探す事になりました。そんな時、日本でも京都でNeXTに関してセミナーが開かれることを知り、主催者の一人が知りあいだったので、これにも参加しに行きました。祇園祭の最中の京都でNeXTのハードウエアを見て、触り、搬送を手伝って日本での販売権をとったCanonの人とも話しをすることが出来ました。Canonの人は営業の担当で、技術的なことはわからないので会社のエンジニアに相談するといわれたので、レポートと質問表を渡して、持ち帰ってもらいました。
次の週にそのCanonの担当者から電話があって、こちらでもあなたの質問に答えられる人はいない。ぜひCanonのNeXT事業に参加して欲しいといわれのです。ほどなくCanonNeXT事業部の採用面接を受けて、Canonの移ることにしたのです。とても嬉しい急展開でNeXTを仕事にする事が出来ることになりました。