新・闘わないプログラマ No.18

爆弾さんといっしょ


Macintoshは、すぐ爆弾が出るから使いたくない、っていう話をときどき(よく?)聞きます。確かに、今となってはOSのカーネルの設計思想が古く、他のOSと比較して見劣りすることは否めません。(プリエンプティブ)マルチタスクでは無いし、一般プロセスも特権モードで動作するし、プロセス毎にアドレス空間が分離していませんし、アプリケーションがOSを道連れに逝ってしまうのを防ぐ事が困難です。(でも、Windows95はそうじゃ無いはずなのに、何故にあんなによく死ぬのでしょうか?? とっても不思議 :-))

余談になりますが、以前このコラムで、Rhapsodyのカーネル(Mach)にBlue boxを載せてMacOSとして出すべきだ、と書いたところ、「そんなことしてもシステム(MacOS)としての安定性は変わらんのではないか」と指摘を受けました。その指摘自体はほぼ正しいと思います。
MacOSのアプリケーション自体はすべて同じBlue box上で動作する形になるでしょうから、MacOSの弱点、つまり、あるアプリケーションが他のアプリケーションやシステムに悪影響を及ぼすことを防ぐ事は出来ないのは間違い有りません。ただ、その場合でも、最悪Blue boxを再起動すれば復旧するのであれば、今のようにOS自体を再起動しなければいけないのと比較してかなり利点があると思います。
出来れば、WindowsNTでDOSアプリケーションを動作させる場合に使われるVDM(Virtual DOS Machine)のように、アプリケーション毎に別々の実行環境(Blue box)が用意されればいいのですが、互換性の問題を考えると難しいでしょうね。
あと、ちゃんとした仮想記憶が使えるようになる(はずですよね)ので、その点も魅力的です。今のように、せっかく仮想記憶の仕組みはあるのに「使わないようにしましょう」ではね。
要するに、Rhapsody + Blue boxでもそれなりに意味があるのではないか、ということが言いたかったわけです。でも、当然うちの68k Macでは動かないんだろうけどね(^^;)

余談が長くなってしまいました。
とにかく、今のMacOSの弱点はカーネルにあると思います。あ、これはもちろん、純技術的な見地からの弱点です。マーケティングの話とか、Jobsが悪いとか、そういうことはとりあえず棚の上に乗せておきます。:-)

Macintoshって不思議ですよね。それなりに使った事のある人で、悪く言う人ってほとんどいません。だいたいMacintoshのことを悪く言う人って、ほとんど使った事が無い人が多いようです。勝手に誤解して(Windowsとここが違っているからだめだ、とか)的外れなことを言っています。その最たるものが、今でも語り種になっている、Windows95が発売された直後の「Windows World」っていう雑誌の特集記事(「さようならMacintosh」っていうタイトルでしたっけ?)です。あまりにアホらしかったので私は買わなかったのですが、いまから思うと買っておけばよかったような・・・あれだけものすごい記事もそうそう見られるものじゃありませんから。
内容は、と言えば、Macintoshの設計思想や機能を(意図的に?)誤解して、Macintoshに比べてWindows95はこれだけ優れている、ということを、これでもかこれでもか、と書き連ねた提灯記事でした。それもMacintosh自体の批評だけではあきたらず(それだけ書いてもWindows95よりMacintoshの方が優れているところが多いのは明らか)、使っているユーザーの品性にまで話が及んでいました。(ほんと、買っておけばよかったなぁ・・・これだけすごい記事は、Microsoft提灯記事一色の日本においてもそうめったに見られるもんじゃないから)

私の、家のメインマシンはMacintoshです。あと、使っているOSといえば、公私合わせると、UNIX(Linux, Solaris, AIX 等々)、WindowsNT、Windows95あたりです。どれも、使っている時間は同じようなものですから、それなりに公平な立場で各OSを評価できますが、メインで使おうと思うとどうしても操作や管理が楽なMacintoshになります。ただ、よく言われるようにMacintoshはバッチ処理が苦手ですから、そのあたりにはUNIX系のOSを組み合わせると天下無敵です(^^) そういう意味でも、Rhapsodyは期待したいんですけどね。Blue boxでMacintoshアプリケーションを動かして、同時にシェル(私はcsh系が好きなので、tcshあたり)が使えたら最高だと思っています。

思い起こせば、私が初めてMacintoshに触れてから、7年の歳月が過ぎました。
初めて使ったときに、フロッピーディスクがオートイジェクトされるのを見て「うわぁ、すごいな」と思ったものです。でも、すごいな、と思っただけで、その時にはなぜオートイジェクトになっているのか、オートイジェクトでなければいけないのか、分かりませんでした。たぶん、DOSやWindows系のOSしか使った事の無い人の中には「そんなの無駄な機能だ」と思っている人も多いのではないかと思います。雑誌とかでも「そういう(無駄な)機能に凝るところがMacintoshのMacintoshたる所以だ」みたいな訳のわからないコメントがあったりするくらいですから。
フロッピーディスクのオートイジェクト(というか「ソフトイジェクト」、つまりメディアの取り出しをソフトウェアによって管理する)は、何もMacintosh固有の機能ではありません。UNIXワークステーションなどでも一般的に使われています(そうじゃないものもあるけど)。そもそも、DOSやWindowsのように、フロッピーディスクにあるファイルを開いていようが、読み書きを行っている最中であろうが、問答無用でメディアの取り出しが出来るほうがおかしいんですよね。ボリュームの「マウント」という概念が無いOSだからそれでもあまり問題が起きないのでしょうけど。
これもどこで読んだのか忘れてしまいましたけど、「OSの設計は妥協との戦いだ」といった趣旨のコラムがあって、なるほど、と思った事があります。DOSやWindowsは、恐ろしく低いレベルで「妥協」してしまっているOSのように私には見えます。MacintoshとUNIXは、その設計思想の方向性はかなり異なっていますが、「安易に妥協するものか」という意志が感じられます。

私がWindowsを使っていて、どうしても馴染めないのが、「アプリケーションウィンドウ」というやつです。Windowsのアプリケーションの大部分は、起動するとアプリケーションウィンドウが一つ開き、その中に複数のドキュメントウィンドウが開く形になっています。プログラマの立場から言えばMDI(Multiple Document Interface)を使用したアプリケーションと言えます。しかし中には、いきなりドキュメントウィンドウが開くアプリケーションもあります。
あのアプリケーションウィンドウって、何のためにあるんでしょう。Macintoshの場合は、ウィンドウといえばドキュメントウィンドウしかありませんし、それで全然問題が無いと思いますし、その方がシンプルでわかりやすいと思います。
考えてみますと、Windowsの場合は、まずアプリケーションという道具があって、それを使ってドキュメントを作成する、という感じになるのに対して、Macintoshの場合は、まずドキュメントがあって、それを作成するための道具としてアプリケーションがある、と言えるのではないかと思います。
我々はドキュメント(文書に限らず、画像でもデータベースでも何でもいいですが)が欲しいのであって、アプリケーションはそれを作成する道具に過ぎないのですから、Macintoshの考え方の方が、より素直でわかりやすい、と言えるのではないでしょうか。また、この考え方は、データに道具(メソッド)が従属する、という意味でオブジェクト指向の考え方とも重なります。

まぁ、そんなこんなで、私は、家のメインマシンはMacintoshにしているわけです。いろんな意味で楽ですから。

今回のコラムは、一つのテーマに沿って書く、というのはやめて、Macintoshを中心に、ふだん私が思っている事を(だらだらと)書いてみましたが、いかがでしたでしょうか。

[前へ] [次へ]

[Home] [戻る]


mailto:lepton@amy.hi-ho.ne.jp