![]() | ||
Microsoft MVP: Windows - Networking 高橋 基信NTTデータ ビジネス開発事業本部 システム方式技術 ビジネスユニット 第一技術統括部 シニアエキスパート
| ||
|
WindowsとUNIX(Linux)の優劣の比較は,以前から様々な論争になっている。今回はその論争の中でよく主張されるWindowsの優位点について,長年疑問に思っていることに触れたいと思う。
その優位点とは,「Windowsは高度にコンポーネント化されたOSで,アプリケーション開発の生産性が高い。また,共用コンポーネントを使ったアプリケーションの品質も高い」というものだ。
確かにWindowsは,少なくともUNIXよりはるかにコンポーネント化が進んでいる。Windows上の一般的なアプリケーションで[ファイル]−[開く]を選択すれば,同じダイアログ・ボックスが開くし,どのアプリケーションでも当たり前のようにドラッグ&ドロップができる。操作性や表示の統一感は,UNIXとは比較にならないレベルである。また,Internet Explorerのプロキシ設定は,様々なアプリケーションが参照しているし,サービスの操作には「MMC(マイクロソフト管理コンソール)」という統一したインターフェースが使用できる。こうした点を見ている限り,Windowsのコンポーネント化はいいことずくめのようにもみえる。
ところで,ここで素朴な疑問がある。
UNIXの場合,例えばWebサーバーである「Apache」のセキュリティ修正やバージョンアップの際に,メール・サーバーの「Sendmail」やDNSサーバーの「BIND」に影響が出ることを心配する人はいない。影響が出ないことは,自明だからだ。
振り返ってWindowsはどうだろうか。本来Webブラウザという1アプリケーションであったはずのInternet Explorerのバージョンアップやセキュリティ修正は,どこに影響が出るか分からない神経を使う作業である。私の周囲でも,XML(拡張マークアップ言語)処理に関するセキュリティ修正プログラムを適用したら,全く無関係だと思っていた業務アプリケーションに問題が発生した,という事例があった。マイクロソフトも,「修正プログラムを適用する前に,アプリケーションの十分なテストを行ってください」というメッセージを発しているぐらいである。
もちろんUNIXでも,アプリケーションが利用しているライブラリに変更があれば,動作検証は必須である。しかしWindowsのように,パッチを適用したり,アプリケーションをバージョンアップしたりする度に,他のアプリケーションに影響が出ないかびくびくしているユーザーは,少ないように思える。どうしてだろうか。