2017年05月17日15時56分掲載  無料記事
http://www.nikkanberita.com/print.cgi?id=201705171556043

ITフロント

【山下茂のういんどう〜ず注意報】そんたく 忖度

 広辞苑をひくと 
【忖度】 忖も度も、はかる意。他人の心中をおしはかること。推察。「相手の気持を−する」 
とあります。「目上のもののお気に召すようにふるまい、お目こぼしにあずかろうという魂胆」というのは、私の思い込みでしたか… 
 
 私どもプログラマーは、コンピューター用の言語でコンピューターを動かすための文章を書き連ねるのが仕事です。文章といっても、一文一文は英語を模した命令文です。たとえば、ある言語では 
    Let Me![氏名] = "山下" 
と書きます。画面の上に[氏名]とプログラマーが名付けた位置に“山下”という文字を代入しろという命令文です。こんな文章を何千と書き連ねていくのが仕事です。 
 
 文章を手短に省略した書き方もできます。 
命令語のLetは省略してもいいので 
    Me![氏名] = "山下" 
さらにこの画面をも省略できますので 
    氏名 = "山下" 
とも書けます。文章を書いているプログラマーは、画面にこんなふうに表示しようとか、あんなふうにしようとか考えながら文章を書いていきます。文章を書くといっても、キーボードを打っているので、キーボードの打ち込みに手間取っていると、何を考えていたか忘れしまいかねません。ですから、省略はありたそうなのですが… 
 
 コンピューターにしてみれば、プログラマーの書いた文章を読みすすみながら、計算したり、画面に表示したり、ディスクにアクセスしたり、通信したりと多種多様な動きをしなければなりません。ですから文章をコンピューターのチップへの命令の信号に直していくコンパイラーと呼ぶソフトがあります。 
 
 以前、ある言語のコンパイラーのプログラムをする仕事にたずさわりました。何が大変だったか言えば忖度なんです。この言語でも省略できる命令語がありましたから、文章の先頭の語が命令語に該当しない時は、命令語のスペルミスか、それとも命令語を省略したのかを判断しなければなりません。 
 
 「命令語と紛らわしい名付けをする」とか「キーボードの“A”と“S”をよく間違える」とか、文章を書いたプログラマーの性格を知るよしがありません。ですから機械的に処置しました。 
 
 ところが、いろいろなプログラマーに文章を書いてもらってテストをしてみると大騒ぎ。コンピューターに同じ操作をさせるのにプログラマーごとに書く文章はそれぞれさまざま、千差万別。こんな省略した書き方をするのか、この省略の書き方もありか、と想定外が続出。いろいろな省略した書き方があるんだと忖度しなければなりませんでした。 
 
 さて、ソフトをつくる仕事ではいっさい省略した書き方はしません。コンパイラーはこちらのことを知りませんから、「忖度しろ」と横暴なことは言っても無駄です。省略したためにコンパイラーに変な忖度をされて、こちらの意図どおりプログラムが動かないともなれば、かえって手間です。ですから、コンパイラーの作り手はさんざん苦労したでしょうが、その苦労の部分を避けるため省略した書き方は使わないのです。 
 
 それに、完成した後もソフトの保守や改修で、とうに忘れたプログラムを読み返すとか、他の人が引き継いだりします。プログラムの読み手はコンパイラーだけではありません。自分たち自身もまた読み手なのです。そんなときのことを忖度して、省略した書き方は使わないのです。 
 
 製作したソフトをお客様に「使こうてもろてなんぼ」の商売です。ですからお客様とはなんども打合せします。そして、どのような方が、どのように使うのか、などなどといろいろ忖度してソフトを作っています。ちょっとした工夫をさりげなく仕込んだりもしますが、押し付けになるようなことはできるだけ避けます。 
 
 そうそう、ウィンドウズのエイトあたりからの、マイクロソフトの押し付けは凄まじいですねぇ。使い手はすべからくパソコン初心者扱いです。なんという忖度でしょう。もちろん、個人用に使う方もいらっしゃるでしょう。でもスマホなど携帯端末が普及した現在、ウィンドウズのお客様の多くは業務用です。古いウィンドウズはサポートしないというので、仕方なく新しく買い換えたのに、パソコン初心者扱い。お客様の心中をおしはかってから、ウィンドウズをセットアップするようにできないものですかねぇ。 
 
「もっと忖度しろよ」。 
 
----------------------------------------------- 
 
Let Me![氏名] = "山下" 
Let は命令語で、代入しろ、Me! はこの画面の、[氏名] は氏名と名付けた位置、= はそこへ、"山下" は山下という文字。画面上に代入したので、画面に“山下”と表示されます。 
 
コンパイラー(コンパイル:翻訳) アルファベットで書いたプログラムを、コンピューターのチップへの信号表にするプログラム プログラマーが書いた1行の文は、何十行もの信号表に翻訳します 
 
マイクロソフトの忖度はビッグデータや人工知能(AI)を駆使して導き出したのでしょうかねぇ? 


Copyright (C) Berita unless otherwise noted.
  • 日刊ベリタに掲載された記事を転載される場合は、有料・無料を問わず、編集部にご連絡ください。ただし、見出しとリード文につきましてはその限りでありません。
  • 印刷媒体向けの記事配信も行っておりますので、記事を利用したい場合は事務局までご連絡下さい。