2015年01月29日の日記です


「デフォルト」という言葉の意味  2015-01-29 11:28:11  コンピュータ

いつも朝食の準備をしながらFM横浜を聞いてます。


ニュースや天気予報を読み上げるアナウンサーに言葉にセンシティブな方がいて、語源とか意味にも詳しい。

DJが、これが面白くてわざとおかしな言葉遣いをして訂正されたりしてます。まぁ、これはちょっとしたお遊び。


ところが、今朝は様子が違った。

アナウンサーの方が「デフォルト」という言葉を使い、DJが意味がわからず問い直した結果、アナウンサーの方は答えられませんでした。


アナウンサーの方はなんとなく使ってしまったようで、じゃぁその意味は、となると、判って無いようでした。




そこは生放送のラジオ番組のこと。すぐに、視聴者から意味を教えるメールが多数寄せられます。

…ところが、この内容が正しくない。


いや、間違っちゃいないし、その意味では正しい。

でも、語源を押さえずに「最近のつかわれ方」に根差した使い方を教えているので、DJの方は混乱するばかり。


・パソコンの初期設定のこと

・パソコンの標準装備のこと

・パソコンの標準設定のこと


…このあたりが、メールの主な内容でした。


まぁ、間違っちゃいないけど、どうも微妙に違和感がある。

DJの人は「辞書を調べたら、パソコン用語で初期設定のことと書いてあった」とも言ってました。


そうか、そんなこと書いちゃう辞書があるのか。

…って、今調べたら Wikipedia にそう書いてありました。


「辞書」=「ウィキペディア」か。まぁ、そういえなくもないでしょう。


じゃぁ、英語ではどう書いてあるのだろう、とおもったら、Wikipedia英語版には Default の解釈として正しいことが書いてあります。

日本語版はでたらめなことが多いのですが、こんなにまるっきり違うことが書いてある記事も珍しい気がします。


ただ、英語版も「本来の言葉の意味を知ったうえで」、コンピューター用語としてはどのように使われるか、という形で書かれています。

本来の言葉を知らない人が英語版を翻訳すると、日本語版みたいにまるっきりおかしな内容になるかもしれません。




さて、デフォルトはデ・フォールトです。

「デ」は、デバグのデ。離れる、下げる、否定する、などの意味を持つ接頭語です。


フォールトは「失敗」。

テニスでサーブに失敗すると、審判が「フォールト」と宣言します。あのフォールトです。



だから、デフォルト、は字句通り捉えると「失敗回避」。

ただ、実際には失敗を回避するという意味合いではなく、本当に大切なものを守るために、やりたくないけど何かを諦める、という感じです。


フォールトが単純な「失敗」ではなくて、何もかもがダメになるような失敗なのね。

それを回避するために、目先の些細なこと(でも十分大切な事)を切り捨てるような意味合いになる。


だから、デフォルトとは「棄権」などの意味になります。

辞書を引くと「債務不履行」とあるのだけど、これもそうした意味。




さて、パソコン用語として。

もともとはプログラマーが使っていた用語で、そこから派生してパソコン一般に使われる用語になりました。


コンピューターは、1から10まで、すべてを教えてやらないと動くことができません。

でも、人間にとってはこれは大変な事。


そこで、なにかを省略する、ということができるようにします。

もちろん、省略した時にどうするか、というのも誰かが教えているのだけど、少なくとも使う人にとっては「コンピューターが善きにはからってくれた」感じになる。


たとえば、条件分岐があったとします。

プログラムって、条件分岐が非常に大事。大事っていうのは、わかりにくいという意味でもあり、プログラムのバグが出やすいところ。


たとえば、4択のクイズゲームがあったとしましょう。

ユーザーに、1 2 3 4 の数字キーを押して答えてもらう。


1 を押した場合はこの処理を、2 を押した場合はこの処理を…と 4 までの処理を作り、プログラマは「これで大丈夫」と考えます。

ところが、ユーザーはプログラマの想定外のことをする。0 を入れられてしまったとします。


この時、プログラムは間違いなく誤動作します。

あらかじめ想定していなかった入力が来たのだから。



ここで、「想定外だったら、もう一度入力からやり直させる」というようなプログラムを入れておけば問題は無くなります。

これが「デフォルトのプログラム」。


全体がダメになりそうな時に、それを回避するわけです。


プログラマーの方ならわかりますね。C言語由来の switch 文を持つ言語なら、大抵 default という「どの条件にも合わない時」のプログラムを書く方法があります。




やはりプログラムで、関数に値を渡す必要があるとします。

C言語などでは、基本的にはあらかじめ決めた数の値を、必ず渡す必要があります。そうしないとエラーになります。


でも、これが案外面倒くさい。Javascript とか、 PHP とか、perl とか、「値を渡さないと適当な値が入る」ようにしてある言語が増えました。


Javascript の場合、入る値は undefined 。「何も入ってないよ」という意味を示す値です。

PHP の場合、関数設定時に値が決められます。渡されなければあらかじめ決めた値が入るし、渡されればその値になります。


つまりこれらは、引数の数が合わない、というエラーを回避するための「デフォルト値」なのです。




コンピューターを応用した機械では、さまざまな設定を行い、その設定を記憶できる、というのが普通になりました。


しかし、何も設定していない状態で「設定が無いからおかしな動作をする」のは困ります。

購入者が、何も設定していない状態でも、それなりに動作するように、あらかじめ工場で設定をしておきます。


これが「デフォルト設定」。出荷時の初期設定です。


じゃぁ、デフォルト設定から変更したものはもう「デフォルト」ではないのか、というと、そうでもないのがややこしいところ。


設定の中には、特定機能が動作する際の「デフォルト値」を定めるようなものもありますからね。


#必ずメニューを出して聞いてくるのだが、よく使う値が設定された状態で聞いてくるので、問題なければ OK を押すだけで良い、など。




WEB ページなどで、多国語に対応している場合があります。

大抵は、ユーザーが自分で言語を選べるようになっているのですが、はじめて訪れた場合でも、大抵ユーザーの母国語で表示を行ってくれます。


これも、設定していない状態なのに適切に動いてくれる、という「デフォルト設定」の一種。

実はブラウザに対して「存在するなら日本語で表示」などの設定を入れてあって、その設定も変えられるようになっているのですが、多分多くの人はこの設定があることも知らないでしょう。


なぜなら、ブラウザもまた、「デフォルト設定」として、自動的にユーザーの母国語を要求するように設定されているからです。

じゃぁ、ブラウザは何故「母語」を知っているのか。


言語ごとにインストーラーが別れている、というのも昔はありましたが、今は大抵多言語対応で全部一緒。

なので、OS に対してユーザーの母国語を問い合わせて、初期状態を決めます。

もし、OS に聞いても判断がつかない場合の「デフォルト」は英語でしょうね。多分。


たとえば、UNIX であればユーザーの環境変数に ja_JP.UTF-8 とか入っているので、日本語が母語とわかります。


さらに、大抵のユーザーはこの環境変数を自分で設定していません。

設定しない場合、システムが決めた「デフォルト」の値が入る。


たとえば、Linux ではインストーラーが大抵早い段階で言語を聞いてきます。

インストールの説明をその言語で行うためでもあるけど、システムの「デフォルト設定」を決めるためでもある。


さらに、システムデフォルトも設定していないとどうなるか。

環境変数が設定されていない場合、UNIX では「C」が母国語となります。

つまり、これが UNIX にとっての、本当の「デフォルト」の言語。



これ、C言語の意味ね。

UNIX はC言語で作られ、C言語は UNIX の上で作られた。

だからCが母国語という意味。多分ただの冗談。


…えーと、通常のソフトは英語出力になりますが、ツールの作者が一番良いと思った言語で出力していいです。

僕だったら、たとえ多国語版を作っていたとしても、日本語で表示させる。僕にとって一番正しく使えている言葉だから。




最後の方は完全に余談ですね。


意味がかえって分かりにくくなっていそうなので、もういちどざっくりまとめましょう。


1から10まで指示しないといけないコンピューターでは、うっかり指示を忘れることも良くある。


本当なら、指示がおかしいので、コンピューターの動作はおかしくなります。

でも、それじゃ使いにくいから、「多分こういうことだろう」と、普通の人が使いそうな設定をあらかじめ決めてある。


もしかしたら、あらかじめ決めておいた設定は、やりたかったこととは違うかもしれません。

決め打ちするのは危険なことなのね。でも、まったくおかしな動作をするよりはいい。


これが「デフォルト」の考え方。



最初はプログラマ同士のスラングとして、今では一般的なスラングとしても「デフォルト」という言葉をコンピューター外で使う場合があります。

特に指定されない場合は、大抵こうなるよ、という意味合いが原義。


ただ、コンピューター外、特に英語の会話では、元の意味の「デフォルト」も使われることを忘れないでね。


全体を守るために、本当は大切な事をあえて切り捨てる、という考え方は一緒。

残念ながら棄権する、とか、借金踏み倒して夜逃げする、とかそういうこと。単に「怠ける」という意味もあるけど。



どちらにしても、この意味合いに沿っていれば、言葉遣いとして間違っている、ということもないと思います。


言葉は生きているものですから、どんどん意味が転じても構わない。

元の意味をちゃんと理解していれば、その「使用場所」が広がってもおかしな意味にはならない。



ただ、今朝のFM横浜は酷かったのよ…


視聴者からのメールで生半可な知識仕入れて、「用例」をコントのように繰り広げるのだけど、「初期設定」とか「付属品」の意味で使おうとするから、意味の解らない珍妙な会話になるの。

聞いてて恥ずかしかった。




同じテーマの日記(最近の一覧)

コンピュータ

関連ページ

ラリーウォールの誕生日(1954)【日記 13/09/27】

C言語で会話【日記 18/08/06】

久しぶりのperl【日記 19/11/20】

プログラム言語における「デフォルト動作」【日記 15/01/29】

別年同日の日記

05年 外構チラシ

09年 ジョウビタキ

10年 加湿器

16年 【追悼】マービン・ミンスキー

16年 AI囲碁

18年 テクニカルサポート

21年 微分積分いい気分


申し訳ありませんが、現在意見投稿をできない状態にしています


戻る
トップページへ

-- share --

29000

-- follow --




- Reverse Link -