筆者は先日のメモリアル・デー(米国の祝日)の週末に,あることを思い立った。この祝日が持つ本来の意味に敬意を表して,現れては消えていった,幾多のPC関連テクノロジに光を当てて,すべてが今よりもシンプルだった時代を振り返ってみようと思ったのだ。

 メモリアル・デー(戦没将兵追悼記念日,今年は5月27日)は,南北戦争の終結後に「デコレーション・デー」として始まった。当初は,両軍の戦死者と奴隷解放の記念を目的に制定されたのである。だが時の経過と共に,メモリアル・デーが持つ意味合いは劇的に変化した。第2次世界大戦後,メモリアル・デーは米国の戦争で死亡した全ての死者を記念するための祝日に変更された。そして現在,米国は戦争状態にあるにもかかわらず,近年のメモリアル・デーはバーベキューやビーチ,自動車のセールといった意味合いが強くなっているようだ。

 だが筆者は,この祝日が持つ本来の意味に敬意を表したいと思う。PC関連技術が進歩した結果,私たちは信じられないほど様々な物が相互接続された時代に生きている。だがこの進化の結果,私たちが使うテクノロジは,以前よりもセキュリティや信頼性,安定性などに優れていることが必須になってしまった。この状況で奇妙なのは,絶え間ないテクノロジの進化のなかで,私たちが何かを失ってしまったように思えることだ。こうした思いは,最近の世の中のほぼすべてのことに当てはまるのではないだろうか?

 筆者が将来性に大きな期待を寄せたテクノロジがいくつかある。だが結局,それらは未来へと続く道にある「でこぼこ」でしかなかった。

OS/2

 米Microsoftは米IBMと共謀して,パソコン市場をユビキタスなものにしたハードウエアとソフトウエアのクローンを締め出そうとした(結果的に,この企みは失敗に終わった)。これは,Microsoftが初めて行った純粋な反競争的行為といってもいいだろう。

 ソフトウエア面における同社のソリューションは「OS/2」と呼ばれた。OS/2は,PCの創成期から1990年代前半までOSの世界を支配していたMS-DOSの後継ソフトとして設計されたのである。もちろん,OS/2は歴史という名のゴミ箱に捨てられる運命にあった。だが1990年代の初期から中頃にかけての輝ける一瞬において,OS/2は技術と機能の両面でWindowsよりも優れた存在だったのである。もし1993年ごろに,「どのOSが最後に勝ち残ると思うか?」という質問をされていたら,筆者は間違いなく「OS/2が勝ち残る」と答えていただろう。

 その当時,OS/2に勢いがあると考えていたのは筆者だけではなかった。「OS/2は,歴史上最も重要なOS,さらにはプログラムになる運命にあると私は信じている」とMicrosoftのCEOだったBill Gates氏は,「The OS/2 Programmer's Guide(OS/2プログラマ用ガイド)」の序文に書いた。「1千万以上のシステムで使われているDOSの後継ソフトとして,OS/2はPCに関わるすべての人々に素晴らしい機会を創造するだろう」(序文より)。OS/2はいくつかの垂直市場,とりわけ銀行業界で一定の成功を収めたが,マス・マーケットで成功することは結局なかった。皮肉なことかもしれないが,その責任はMicrosoftにある。Windowsを再生するという社内の秘密プロジェクトの成果としてWindows 3.0が生まれ,それが顧客の熱狂的な支持を得たことによって,今日のPC市場の下地が作られたからだ。

Borland DelphiとVCL

 私たちが長年に渡って使用しているソフトウエアは,様々な開発ツールやプログラミング言語,そして最近では様々な開発者用フレームワークを使って作られてきた。開発者用フレームワークは,土台となるシステムをまとめたものなので,プログラマは開発しているプラットフォームの制限を回避することに時間を費やさずに,目先の問題に取り組める。

 1990年代の中頃になると,主にCプログラマを対象とする,比較的難易度の高いMicrosoftの「Win32 API」が,さらに難解な「Microsoft Foundation Classes (MFC)」と「ActiveX Template Library (ATL)」に取って代わられた。これら2つのC++フレームワークは,控えめに言っても,コンピュータ・サイエンスの歴史上最悪の出来事に含まれる。

 そこに,米Borlandのチーフ・アーキテクトであるAnders Hejlsberg氏が登場する。彼は,実際に理解可能な開発者用フレームワークを発明した人物である。彼のビジュアル・コンポーネント・ライブラリ(VCL)はオブジェクト指向で,(例えば,MFCと違って)理解するのも簡単だった。しかも,上品で美しいDelphiをベースにしていたのである。Delphiとは,C++と違って論理的で一貫性があり,読むのも理解するのも簡単な「Object Pascal」言語を利用した開発環境のことである。これだけ聞くと,人気が出て当然と思われるのではないだろうか?

 しかし,Microsoftが提供するどんなものよりも優れていたにもかかわらず,Delphiは大きな成功を収められなかった。一方,Hejlsberg氏はMicrosoftに入社して,Microsoft .NETと「まともなC++」と形容されることの多い「C#」プログラミング言語の開発に貢献した。

 現在,開発者は.NET Frameworkの3番目のメジャー・バージョンを使って作業している。このバージョンでは,劇的な新しい視覚効果(Windows Presentation Foundation)や通信・ネットワーキング機能(Windows Communication Foundation),さらにPowerShellのような新しい.NETベースの技術などで,旧バージョンの機能が拡張されている。

 一方,BorlandはMicrosoftを相手取って訴訟を起こした(後に和解)。BorlandはDelphi,さらに「C++ Builder」と呼ばれるDelphi関連のC++製品を既に売却済みである。論理的なOOP(オブジェクト指向プログラミング)ベースの環境に関心のある開発者には一応,C#と.NETという選択肢がある。それでも,「Borlandが順調に発展していたら,どうなっていたのだろうか?」と考えずにはいられない。

Windows NT

 1998年の後半にMicrosoftは,当時まだベータ段階にあった「Windows NT 5.0」製品のブランド名を「Windows 2000」に変更すると発表した。結局,その製品には一時的にとはいえ「NT技術をベースにした」という余計な副題がつくことになるのだが,NT支持者はすべてが終わったということを悟っていた。Microsoftのマーケティング担当者が実権を握ったため,それから数年の間に,NTのすべての利点は崩壊することになったのだ。

 未完成の「Microsoft Internet Explorer(IE)」の技術をOSのコア部分に統合するという危険な決断や,Windows 2000の開発タイムフレームで,消費者向けの「16/32-bit Win95」製品と「32/64-bit NT」製品を統合するという失敗に終わった試みのせいで,Windows 2000は幾多の産みの苦しみを経験することを運命づけられていた。もちろん,当時のActive Directoryとグループ・ポリシーへの劇的な動きも同様だ。Windows 2000が曲がりなりにも機能したことには,とても驚かされる。

 数回のサービス・パックを経て,Windows 2000は尊敬を集めるWindowsとなり,後に続くいくつかのメジャーなWindowsの土台となった。だが,MicrosoftがすべてのOSを1つに集約したせいで,高い完成度を誇ったNTが崩壊したということを,古くからのNTファンは十分に理解している。そして私たちはずっと,このMicrosoftの決断のツケを払わされているのだ。

 もちろん,現在のすべてが接続されているような世界では,NTのような古いOSを安全とみなすことはできないだろう。だが,できることなら何としてでもあの頃に戻りたい,と思っているNTファンは結構多いのではないだろうか?何を隠そう,筆者もその1人である。

 さて,以上が今年のメモリアル・デーに筆者が思い出した内容だ。過去を振り返って,「これが軌道に乗っていたら,どうなっていたのだろうか?」と考えていると,奇妙な郷愁を覚えずにはいられなかった。読者の皆さんが大きな期待を寄せていたにもかかわらず,人気を得られず競争に敗れてしまい,がっかりさせられたテクノロジには,どのようなものがあるだろうか?