TumblrPocket辞書的な意味ではなく、プログラム開発方面です。プログラム開発ではメタファーを使った話(「つまり○○みたいなものだよー」といったような)が多用されます。物理的に形をもたないものや抽象的な概念を扱う以上、とくに教育面では避けられない部分があります。クラスといったような説明が行なわれるわけです。した例としてカモノハシの話が出てきます。カモノハシはくちばしを持つ卵生の哺乳類ですので「哺乳類」クラスだとするわけですが、写真を見ただけであれば「鳥類」クラスに入れてしまうかもね、という一種のジョークです。現実問題として、カモノハシが哺乳類であるかどうか、そもそもカモノハシ自体を知っているかどうか、ということは、一般的なコンテクスト・共通認識上にあると(つまり「カモノハシくらい知ってて当然」と)言えるものなんでしょうか?極端な例を挙げますと、「RX-7」「RX-78」がそれぞれ「マツダのスポーツカー」「ガンダムに出てくるモビルスーツ」であることは、それぞれ車好き・ガンダム好きからすれば説明の必要が無いレベルだったりするようです(歳がバレますね)。そのどちらの属性も持っていない私はこれらが何であるのかわかりません(でした)。言えばこれは固有名詞を知っているか知らないかという問題だけではなく、私にとって「マツダ」「スポーツカー」「ガンダム」「モビルスーツ」のそれぞれが(どういったものであるかをかろうじて知っていたとしても)どれくらいの広がりを持つ世界なのかが全くわからないのです。私はこれらについて、コンテクストをごく一部非常に中途半端な形で持っていることになります。ところが、私はそうした状況でありつつも、日常生活に困ったことは一度たりともありません(でした)。これらのコンテクストを十分に持っていることが世の中の常識とはされていないからです。この「日常生活に困ることがありうるか?」という観点で、「世の中の常識とされる」コンテクストを改めて考えなおしてみると、思っていたよりも困らないことがわかります。極端な例を挙げますが、「スーパー(マーケット)」という言葉をもし知らなかったとしても「マックスバリュ」に行くことはできるのです。(マックスバリュの無い地域の方、ごめんなさい)ではここで出てきた「スーパー(マーケット)」という言葉を考えてみましょう。これは抽象的な概念です。「自転車」の場合の「乗り物」と同じような構造です。ところがここに、「スーパー(マーケット)」(という言葉を)を知らず、かつ「マックスバリュ」は知っている、という人がいるとしましょう。この人に「スーパー(マーケット)」という概念を教えるには「マックスバリュみたいなもの」と一言で伝えるのが速いことは明らかです。すると結果としてこの人は(あくまで極論上の可能性ではありますが)「スーパー(マーケット)」という概念を「チェーン店である」「テナントが入っている」というような要素込みで把握するかもしれません。「スーパー(マーケット)」という概念は通常、もうちょっと小さい地場のお店なども含むはずのものであるわけで、この認識は少しずれてしまっていると言えなくもありません。ここまで極論に極論を重ねてはいますが、詭弁を弄したいわけでも可能性の重箱の隅をつつきたいわけでもありません。暗黙のコンテクストは常に認識のずれを含んでいて、そのずれの範囲は一個人から想像することが難しく、かつ(特に日常生活上は)意外と許容範囲が広いのではないか?という問題です。なると、特にメタファーをメタファーによって説明したり、概念をメタファーで説明したり、といった場合には、伝える側が想定しているよりもずれ幅が大きくなる場合があるんじゃないだろうか、と考えるわけです。(特に最終的には「日常生活上の認識」に近づけているわけですし)そもそも、なぜメタファーを使うのか?といえば、情報伝達の時間を節約するためという面もあるわけでして、ずれがあることを前提とせずに安易にメタファーを使って情報を伝達すると、近道をしようとして道に迷うようなことが容易に起きうる、ということを注意しなくてはいけないな、と考えさせられる次第です。技術担当取締役を中心に技術者が書いております。プログラミング・サーバー/クラウド技術などについての小ネタから、システム化にまつわるあれこれや、プログラマー教育、そこから発生する様々な考え方などまでご紹介。