先日 UBASIC の話題を書いたのだけど、Twitter でも「精度が出る」と書いたところ、「精度ではないのではないか」と疑問を持っている人がいた。
まぁ、この人は Wikipedia も調べたうえで、精度であっているらしい、けどなんか気持ち悪い、と言っていた。
その人を知識がないと揶揄するのは簡単だけど、それは本質ではないと思う。
問題があったのは僕のほうだ。たとえ、その用語が Wikipedia に正しい語として解説されていても。
僕はプログラマなので、つい「精度」と書いてしまった。
これは一般的にも使われる用語であると同時に、それとは違う意味を持つプログラマの専門用語でもある。
意味が二重になっているのが「気持ち悪さ」の原因なのだ。
言葉遣いに気を付けていないと、あらぬ摩擦を引き起こす。
精、という漢字は、精緻、精密、精工など、非常に細かいことを意味する。
精度というと、細かな部分をどこまで表現できるか、という意味になる。
一般的には、精度というと、「小数点以下3桁の精度」というような、非常に細かな部分まで考慮されている、というような使われ方が多い。
しかし、僕が出した UBASIC の話題は整数計算の話で、、むしろ「大きな数」を扱っていた。小数点は使っていない。
どうもここに気持ち悪さを感じられたようだ。
科学では、非常に大きな数を扱うことがある。
例えば、地球と太陽の距離は 149597870700m とされる。
…桁が多すぎて、どのくらい大きいのかよくわからない。
こういう時、科学では 1.495978707×1011 m というような書き方をする。
1011 というのは、「先頭の数字のあと、11桁ある」という意味ね。
全体では 12桁になるのだけども、数の大きさがよくわかる。
大きな数では、1.49... という数より、桁数のほうがずっと大切だったりもする。
そして、1.49... という数字はそれほど重要ではないので、適当なところで四捨五入して、1.496×1011 m、のようにされることが多い。
このとき、「小数点以下3桁の精度」とは言わない。
桁数がわかりやすいように、仮に小数点表記をしているだけで、実際には非常に大きな数だからだ。
でも、精度という言葉は使われる。仮とはいえ、小数点以下の表現が出てくるせいでもあるだろう。
小数点以下の3桁と、小数点の上の1桁を足して「有効数字4ケタの精度」という。
ここで一般用語との意味のずれが生じ始める。
一般には、大きな数の時は「精度が低い」とは言わず「およその値」や「概算」という。
コンピューターは本来「計算機」として登場したが、メモリや装置の関係で、最初から大きな数が扱えたわけではない。
でも、科学計算では上に書いたように、大きな数を扱う必要があった。
そして、科学計算は「桁数」のほうが重要だった。
このため、コンピューターでも、同じように「数値」と「桁数」を分けて扱う工夫が行われた。
小数点の位置を動かして数を表現するため、「浮動小数点表記」と呼ばれる。
ENIAC (1946)よりも前、ハーバードマーク1(1944)では、浮動小数点表記で出力するための機能があった。
Whirlwind I(1951) にも、浮動小数点演算のための命令がある。
コンピューターで浮動小数点を扱う場合、科学表記の考え方がそのまま導入されて、有効数字部分の大きさが「精度」と呼ばれるようになった。
現代的には、浮動小数点を 32bit で表現すると「単精度」、64bit で表現すると「倍精度」と呼んだりする。
#有効数字部分は、単精度 23bit 、倍精度 52bit 。それ以外の部分で指数などを表現。
先日の話で、長男が Scratch で計算してみたら細かな部分が省略されてしまった、というのは、「倍精度」では、有効桁数が足りなかったということだ。
ただし、計算ができなかったわけではない。細かな部分がわからないけど、浮動小数点演算により、概算を求めることはできたから。
そこで、僕はこれを「精度が足りない」と表現しただのけど、整数演算の話で「精度」という言葉を持ち出したので、冒頭に書いたような疑問を持たれてしまった。
専門用語と一般の語句で、微妙に異なる2つの意味があることが原因となっている。
さて、今回書きたいのは、「精度」という言葉の良し悪しではない。
計算機に限らず、どんな分野にでも「仲間内でしか通用しない言葉」というのがあって、そうした言葉にはしばしば、一般の語句を拝借したうえで意味を変えているものがある、ということなのだ。
僕も、建築業界の「養生」という言葉に違和感を持ったことがある。
一般的には、病気などを治すために安静にしていることだ。
建築では、コンクリートが固まるまで、カバーをかけて置いておくことを意味したりする。
カバーをかけるのは、コンクリートは「乾いて固まる」のではなく、「水と反応して固まる」ため。
乾燥すると固まらなくなるから、水が蒸発しないようにするのだ。
良い状態にするために安静にする、という意味で、これはまだ元の言葉の範囲内だろう。
でも、置いておくためにカバーをすることからさらに転じて、保護のための覆いを「養生」と呼んだりする。
塗装の際に、塗ってはならない箇所を保護するためのマスキングテープを「養生テープ」と呼んだりする。
これは、意味がずれ始めているように思う。
建築現場の見学などで、最初はすごく違和感を持った。じきに慣れたけど。
同じ業界内の人で使うのであればともかく、お客さんに使ってはならない言葉のように思った。
しかし僕もこのような「違和感」を、他人に与えてしまった。これは反省事項だ。
話をするときは、多くの人に理解してもらえるように努力しないといけない。
自分にとって当たり前だと、何が違和感の対象かもわからないので、努力目標なのだけど。
ジョブズが Macintosh を作ったとき、徹底してコンピューター用語を排除するように指示した。
代表例が、ボタンを押すときの Depress という用語だ。
単にボタンを押すのであれば「press」。
でも、press は、押して、そののちに離す、という動作を意味する。
「押し込む」ことに意味がある場合は、Depress 。
日本語では「押下」と訳される。
スペースキーを押下する、マウスのボタンを押下する、のように使う。
なんか変な専門用語だけど、日本語の場合それほどおかしいとは感じない。
ところが、英語の Depress は、一般的には「意気消沈する」という意味で使われる。
ボタンなんかを押し下げる意味も確かにあるのだけど、ふつうは「気持ち」が下がって、戻らないのね。
結局、この語句は「click」という擬音によって表現されることになった。
日本語なら「ポチッと」かな。スペースキーをポチッとな。マウスボタンをポチッとな。
ディレクトリはフォルダ(書類挟み)と呼び変えた。
厳密には Mac の実装の問題でディレクトリとフォルダは別の概念なのだけど。
ファイルも、ドキュメント(書類)と呼ばれる…ようにしたかったらしい。
ファイルが書類だから、それをまとめるものが書類挟みなのだ。
でも、ここは用語が徹底していない。
アプリケーションの上では、作ったものを「書類」と呼ぶのだけど、システムの表示するメニューには「File」と表示されている。
初代マックは画面が 9インチで狭かった。
メニューに Document と表示すると場所を取りすぎる、というので、大激論の末に File になったらしい。
コピーバッファもクリップボードと呼ばれるようになったし、ファイルを削除するのではなく、Trash する(ゴミ箱に捨てる)ことになった。
ここらへんになると、単に「用語」を改めただけではなく、それまでにない新たな概念を作り出している。
こうして、徹底してわかりやすさを心掛けたわけだけど、日本では残念ながら「外来語」のまま輸入されてしまった用語が多々ある。
クリックとかドラッグとか、わけのわからない横文字だらけでコンピューターは難しい、という印象を与える。
本来、わかりやすくするために苦心した用語なので、日本語に翻訳されるのが望ましかった。
マウスをポチッとなって、いいと思うのだけど。
#タイムボカン世代の老害
Mac の用語の言い換えは、ジョブズがすごかったという話ではなく、アメリカの文化が色濃く反映されている。
種がまかれたのは 1870年代だ。
アメリカの学者、チャールズ・パースを中心とする数人の人間が始めた、新しい学問のあり方の運動だった。
それまでの学問は、「金持ちの道楽」に過ぎなかった。
しかし、パースは学問を人々の生活に役立てられるように願った。
そのために、論文などを書く際に「相手に内容が伝わること」を徹底的に重視した。
言い換えが可能な言葉はできるだけ平易な言葉に言い換え、既存の言葉で表せない新たな概念は、新しい造語を割り当てる。
もちろん、造語を勝手に使うのは相手に伝わらない。
造語を使う際には、それがどのような意味を持つ概念に使われるのか、懇切丁寧に説明を行う。
とにかく、徹底して相手に理解を求めるのだ。
これ、「道楽」としての科学から見ると、茨の道に踏み入っている。
ただ自分が楽しいから研究している、というのと違って、人に説明して同意を得られるように、自分の理解も深くしなくてはならないし、それを人に伝える方法を模索しなくてはならない。
でも、パースに賛同する学者は後に続いた。学者だけでなく、政治家なども後に続き、法律の文章を誰にでも理解できる、平易なものへと変えていった。
そして 100年がたち、この考え方はアメリカでは普通のものになっていた。
家電品が高機能化しても、マニュアルは複雑怪奇にはならない。
日本では、開発してからその使い方を伝えるためにマニュアルが書かれたりする。
機能の呼び出し方が複雑怪奇で統一感がなくても、そのままマニュアルに記載される。
でも、アメリカでは先にわかりやすいマニュアルを書いて、それに従って機能を呼び出すインターフェイスを決めていく。
もちろん、「機能」は先にできているよ。でも、仮に機能を作り、それからマニュアルを整理し、最後に機能を呼び出すインターフェイスを作りこむ。
こうすることで、「伝えやすい概念」を考慮した製品となる。
この延長上に、ジョブズが Macintosh でやろうとしたことがあった。
その頃のコンピューターは黎明期で、次々と新機能が追加され、複雑怪奇になっていた。
それをもう一度わかりやすい概念に再構築すれば、誰にとってもわかりやすいものになるに違いない…。
日本では、こういう運動は残念ながら起こっていない。
いや、起こったのかもしれないが、世の中を変えるほどに定着しなかった。
今でも法律はわかりにくい専門用語で書かれているし、コンピューターは専門用語を理解しないと使えない。
「クリック」だって専門用語と化してしまった。
専門家は、自分が専門家であることを誇示するために、専門用語を使いたがる。
お役所では、一般的にも使われていないし、専門用語でもない謎の言葉を多用したがる。
実は、「理解されたくない」のだ。理解されたくないからわざと理解できない言葉を使う。
理解が進むと突っ込みが入る。
突っ込みが入ると専門家の権威が揺らいだり、お役所の仕事の流れが滞ったりする。
そういう事態を避けたいのだ。
これらを「わかりにくい」と指摘する声が上がるのは当然だし、わかりやすく変えていくいいチャンスだ。
でも、指摘されると「勉強が足りない」と相手に責任転嫁して終わりにする。
根本的な考え方が、アメリカとは異なっている。
難しい概念をかみ砕いて説明しようとして、下手なたとえ話をはじめて「誤魔化している」と総攻撃を受ける政治家もいたね。
たとえ話は、実は伝えたことにはならない。理解してほしいのであれば、たとえ話に頼らずに伝える努力をしなくてはならない。
日本人がそういうものだ、という諦観した話にしたくはない。
伝えるために努力をし続けている人だっているし、僕もそういう人に続かなくてはならない、とは思っている。
そして、冒頭の話題に戻る。
「精度が低い」という言葉も、一般的な使い方と、コンピューター用語では微妙に意味が違うのだけど、うっかりと使ってしまった。
違う概念には違う言葉を使うべきだけど、専門用語として一般的な用語を「借用」しているところに問題の根っこがある。
「有効桁数が小さい」というべきだったのかもしれない。
有効桁数は科学者の用語なのだけど、これなら拝借はないため、意味のずれはおこらない。
相手が有効数字という概念を知らないと伝わらないのだけど、勘違いが生じるよりは、ずっといい。
2016.9.8 追記
「東京外国語大学 留学生日本語教育センター」に在籍していた数学者の先生が、同じようなことを研究した論文 (2014) を見つけました。
一般に使われている言葉が、意味を転用して「専門語」となった時に、専門家はそれに気づきにくいし、専門家でない人も気づきにくい。
ましてや、日本語に堪能ではない留学生に、日本語を理解したうえで、その意味を転用している「専門語」を教えるにはどうすればよいのか?
という問題提起から、いくつかの用語を「日本語として普通の単語だが、数学においては特別な意味を持つ」として整理し直しています。
ただし、ここではまだたった5つの単語を示しただけ。
最後には、数学だけでなく、コンピューター用語にもこうした単語は非常に多そうだ、と示唆しています。
本文中にも書きましたが、海外では伝えやすく工夫する文化が根付いていいるのですが、日本では根付いていません。
だれかが用語を整理する必要があるように思いますが、それは前途多難な、大変な作業だとも思います。
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |