2008年6月4日水曜日

パソコンのエラーは、ホンマに難しい

PCどシロウトの人からよう聞かれる質問に
ファミコン...おっとちゃうわ、
パソコンの出すアヤマチ文句はなんであない理解不能やんな?」
ゆうものがおます。

そないな質問にわいはこう答えることにしてるんや。
そら、アヤマチ文句を出してんソフト自身かて、
あんじょういかへんかった
原因がようわからへんからやで」。

実はこの質問は、
質問した本人は気付いておらへんかもしれしまへんが、
PCがPCである――家電や携帯やワープロ専用機とはちゃう――
ことの本質を突いとる質問や。
そのことについての説明を一切省いて結論だけぬかすと、
冒頭の回答になるんですわ。

その本質ちうのが何なんかを述べまひょ。
いっちゃんはじめに、PCが家電とちゃうトコ、
そら使用者がプログラムを自由にインストールできることや。
家電も携帯も、使用者が機械に入れられはるんはデータだけ。
プログラムを入れられはるかどうかが違いなんやこれがホンマに。

どないなプログラムが入っとるかが決まっておらへんちうことは、
機械の動作をあらかじめ予測でけへんことを意味しまっせ。
ソフトを作るとき、
他にどないなソフトが入っとるかによって機械の仕様がちゃうんやけど、
そら未定のまんまプログラムを作らなあかんのや。

他にどないなソフトが
どないな風に入っててPCがどないな風に振る舞うか、
そのことをソフトは「環境」と呼ぶんや。一部のソフトは、
環境がどうであるかに応じてオノレの動作を変更するため、
ユーザに「環境設定」をさせまんねん。こらもちろん、
ユーザがPCのソフト状況を把握してんことを前提にした要求やね。

ソフト自身が自力で環境を解析して、
それにあわせた動作をするゆうんは、原理的に困難や。
PC内のソフトインストール状態には
事実上無限通りの場合の数があるからや。
そもそも、
環境設定メニューで選択肢を提示して
動作を変更するっちうこと自体も、
何通りかの状態のPCに対して正しく動作するようにするだけや。
ほぼ無限通りあるPCの状態ずぅぇえええぇぇええんぶに
対応できることは期待でけしまへん。

振る舞いの場合の数が無限通りあるPCに対して、
有限通りの状態しか考慮せんと(できんと)
設計したプログラムを動かした場合、
期待と異なる結果が出る場合が当然おます。
こないな風なとき、
プログラムにわかるんは「想定した以外の振る舞いをPCがした」
ことやけや。

このときプログラムにできること、
そら「PCが、想定とちゃうこないな反応をした」と
アヤマチ文句を出すことやけや。
何が原因なんか、
どうしたらええんかやらなんやら表示できるわけがおまへん。
なんせ、想定した有限通りの状態以外やったわけやから
(想定内の振る舞いやったんやったら、
最初からアヤマチ文句やらなんやら出さへんし、
振る舞いにあわせた動作をしたらええだけのことや)。

プログラムをインストールするっちうことができるおかげで、
PCは使用者の望む機能を持つことができ、
アップデートするっちうことができ、
複数のベンダのソフトを利用するっちうことができるゆう便器...
おっとちゃうわ、便利さを持っとりまんねん。
それといっぺんにこの特徴は、
状態が(ほぼ)無限通りになることで振る舞いが予測できななるちう
最大の欠点の本質でもおます。

このことを一言でまとめると、
まさに「ソフト自身かて、わかっておらへん」やね。

0 件のコメント: