|
Do You Trust Microsoft? (97/09/30)
先週一週間、米国のSan Diegoで開かれたMicrosoftのPDC(Professional Develpers Conference)に参加した。Microsoftプラットフォーム上でプログラムを開発する人すべてに向けたイベントである。
既に記事にしたように、今回のイベントではWindows DNAと呼ばれる新しい「フレームワーク」の発表があった。技術的な説明は記事中を参照してもらうとして、私の印象を総合すると、「業務用アプリケーションを書くために必要な一般的なサービスはすべてMicrosoftから提供しますから、後は必要なモジュールだけCOM(COM+)で書いてくださいよ」ということになる。もう少しだけ砕くと、メッセージングサービス、データベースアクセス、Dynamic HTMLを表示するInternet Explorerなど、「万人が共通」に必要とするモジュールはMicrosoftが提供する。ただ、Microsoftといえども世界中の人々のニーズに全部応えることはできないので、用途ごとのモジュールは皆さんで書いて欲しいということなのだろう。
いい意味でも、悪い意味でもさすがMicrosoft、と言わざる得ないフレームワークである。現に、彼らはそう言えるだけのプログラムモジュールを提供しているし、未提供の部分も若干の遅れはあっても、順次出てくることだろう(ただし、そのときWindows DNAが過去のものになっている可能性はあるが)。
しかし、一方でこのフレームワークに捕まってしまうと、Microsoftへの依存度は格段に向上してしまうのではないか、と不安にもなる。もう一つの疑問として、これらのフレームワーク、つまり「共通モジュール」の部分は莫大であり、中にはMicrosoftが今まで苦手としてきた分野、あるいは他社に遅れをとっている分野があり、本当にどのモジュールも「正しく」動いてくれるのか?という点もある。
このことについて、PDCに来ていたソフトウェアハウスの方と話をしたのだが、なかなか興味深かった。話の発端は、私が「最近のソフトウェアは、無駄に重いのではないか?C++とかMFC(Microsoftのクラスライブラリ)とか使わずにアセンブラでごりごり書いたら、同じ機能を数倍のスピードで提供できるのではないか?」という疑問を発したことからだ。すると、すぐさま答えが返ってきた。「そんなことは誰でも思っているのですよ。ただ、現実にそうしたことは不可能なんです。山下さんと同じ発想で、Windows上で一からアプリケーションを書こうしたグループもいましたが、数年たっても製品が出てこない。結局現実的な時間内でアプリケーションを書くには、Microsoftのフレームワークに乗るしかないんです」という趣旨の答えだった。
では、フレームワークの安定性についてはどうだろうか?これも、先のソフトウェアハウスの人の発言が現実を反映していて面白い。私の「Windows NT 5.0は、さらに安定しないのではないか?」という発言に対して「また、カーネルに手を入れたらしいし(と安定性には否定的な見解)。でも、結局このOS(Windows NT)を育てるしかないんだよ」という答えが返ってきた。
では、他のフレームワークはどうだろうか?今一番有力な対抗馬は、Javaということになるだろう。Javaについては、Microsoftは「言語としてのサポート」はするが、「OSとしてのJavaは認めない」というスタンスをPDCの中で明らかにしている。
しかし、世の中はそうは思っていないようで、Microsoft依存から脱したいので、Javaによるシステム構築を望むという声が多いそうだ。ところが、Javaでシステムを構築するのはなかなか大変だとのこと。こうした事を教えてくれたデベロッパーの方は「Microsoftのプラットフォームで儲けて、Javaに投資するといった段階だ」と話していた。また、先に紹介したソフトウェアハウスの方は、「今のところJavaには手を出していない。何度か説明を受けたことはあるが、たとえば外字一つにしてもどのように解決するつもりなのか聞く事ができなかった」と現実的なフレームワークとしては整備が不完全なことを指摘していた。
さて、では私はどう思っているかというと、Microsoftは大きくなりすぎたなというのが正直な感想である。そして、何でもOSに統合するという方向で解決しているという気がしてならない。それは、利用者にとっても、Microsoftにとってもあまり幸せをもたらさない方向であると思う。
先日のコラムでも書いたように、堅牢性がなければ「業務用システム」として採用することはできない。Microsoftは、明らかにEnterprise、つまり「業務用システム」としてWindows NTを浸透させたいはずである。しかし、このようにバージョンアップする度にカーネルが変更されていたのでは安心できないし、その上バージョンアップしないと他のモジュールも利用できないというのでは、堅牢性と高機能を両立させることができない。
OSのカーネル部分とフレームワークを提供する部分を明確に分けて、別商品にすること。それらフレームワークをOSのバージョンに依存しないようにすること。フレームワークをモジュールごとに独立させて別商品にすること。そして、他社のフレームワークの存在も認めること。こうすれば、我々はOSとフレームワークを自由に選べるし、Microsoftも各モジュールごとに堅牢性を向上させることができるはずである。自分が評価して信用のできるOSと、信用のできるフレームワークのモジュールを利用すればいいのだ。こうなることを、Microsoft製品ユーザーとして願っているのだが。
[編集長 山下:ken@impress.co.jp]