わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

指示の仕方

途中の矢印とテキストには,ふむふむと思いました.

       アイデア            プログラム
       大枠の企画           データ、結合
       ↓                 ↓
企画を思いつく⇒⇒⇒→→→→→→→→→→→→→⇒⇒⇒ゲームが完成する
                ↑
            この間にある、「→」の線、
            企画を仕様に落とし込み、
             ゲーム性を調整し、
           デバッグをするという工程の
           果てしなさを理解していない。
          企画屋の仕事はこの「→」であって、
           「⇒」だけではないのだ。
         「→」をブラックボックスだと思ってる奴は
        ゲームを作った事があると本人が思っていても
            実際に作ったのとは違う。

内容ではなくまず形状ですが,この文字の並びは,「城」を連想させます.上に出っ張り目立っている,両端のシャチホコだけでなく,天守もあって,城をなしているわけです.
それと,手元に本がないのですが,確か『技術の創造と設計』の中で,縦方向に見る設計プロセスの図があったはずです.そこでは,設計を知らない人は,その流れの真ん中部分だけを設計と見なしているが,そうではなく全体を通じた作業が設計なのだという主張でした.
目立たないけれども大事な作業の存在を指摘しているのは,その本と冒頭のリンク先とで共通していますが,目立つ箇所(企画や設計において,誰もが思い浮かぶ作業内容)が,真ん中と端とで対照的なのが,面白いところです.
具体的な指示に着目して,もう少し読み進めます.

「攻撃が当たったら20ダメージ」
 ぐらいしか書かなくて、イケると思ってる人ね。
 そう仕様書に書いてあったら、無反応にHPから20減算して終わりだ。普通はそうなのだ。
 ちょっとまてよ、攻撃当たったらエフェクトだしてダメージモーションかましてHPゲージがスムーズに20減って、0になったら死んでくれよ。とか言うならそこまで紙に書く必要がある。

細かく指示する必要があること,そして動作確認やデバッグも不可欠だし,明記されていませんが,必要に応じて,自分が発した指示のほうを修正すべきこともあります.
さて…上とよく似た趣旨の記述を,先日購入した新書で見かけました.

ママが,娘と夫に買い物を指示し,期待するものと違ってがっかりという話を通じて,「お願いの仕方」の原因をプログラマ的観点で見ていくという話です*1.ママから,10歳の娘・杏花ちゃんへの指示と結果は次のとおり(pp.52-53).

「杏花ちゃん。1000円を渡すから、スーパーマーケットに行って長ネギを2本買ってきて。もし安かったらバナナもね。そうそう、それと、帰りにコンビニに寄って、新しい週刊アスキーがでてたら買ってきてくれるかな」
(略)
しかし買い物袋の中身をみたママは、みるみる機嫌が悪くなっていきます。
「長ネギを買ってきてくれてありがとう。でもね、どうして300円もするバナナを買ってきたの? それとこの週刊アスキー、うちにあるやつでしょう」

パパへの指示だと,こう(pp.54-55).

「パパ。会社帰りにたまごを買ってきて。安かったら2パック。それとトイレットペーパーも無くなりそうだから忘れずに買ってきて。そうそう、あと、単三電池2本もね」
(略)
「どうしてたかが朝食のために値段の高いL玉なんて買ってきたの? しかも2パック! それに何よ、このトイレットペーパー! たった4巻しか入ってないじゃない。さては持ち歩くのが面倒くさくて、そこのコンビニで買ったんでしょ。そのうえ、この電池! 単三を2本だけなんてずいぶん器用な買い方してくるわねえ。スーパーならレジの横に10本くらい束になったやつがあったでしょうに、もったいないお金の使い方。安い電器屋さんに行くとか気を利かせればいいのに……」

文字にしてみると,指示の不十分さが浮かび上がってきます.「もし安かったらバナナもね」や「新しい週刊アスキーがでてたら」では,意思疎通も失敗しがちです.なお,子どもがママとの対話を通じて,曖昧さを解消しようとする試みは,pp.57-58に書かれています.
パパへの指示では,卵の大きさ・種類や,トイレットペーパーの個数がないのは,読めば分かりますが,単三電池2本と言われてちょうど2本買ってくると叱られるというのは,指示通りの行動ではダメな例として,興味深いところです.
ところでプログラマに関連して,妻が夫に買い物を指示するといえば,外せないものがあります.

手短に書くと,「牛乳を1つ買ってきてちょうだい。卵があったら6つお願い」の指示によって,「卵があったら,卵を6つ買って」という意図なのだけれど,夫は「牛乳を6つ(6パック)買った」という話です.
これも曖昧さをもとにしたジョークですが,「卵を6つ買ってって言え!」ではなく,「牛乳を6パック買う時点で疑問を持てよ!」*2といった,夫=プログラマへのツッコミが想定されています.
何例か出してきたところで,自分の話をします.以前に,飲み会のための飲み物を購入する時間がなかったので,妻に,指示を書いた紙と1万円札を渡して買ってもらい,大学の入口で受け取りました.紙を渡す前に,中間チェックとして読み上げた際,ビールと発泡酒のあと「チューハイ・カクテル類は350(ミリリットルのを)4缶」と言ったら「354缶もいるの!?」と返されました.仕事中に電話がかかってきて,「烏龍茶はサントリーのじゃなくて安いのにするけどいい?」と聞かれ,承認しました.受け渡しの際に「発泡酒って何か,はじめ分からんかったよ!」と言われ,銘柄の例*3を書いておけばよかったと後悔しました.

*1:メインとなる主張はp.59より:「勘のいい読者の方なら、本章で筆者が単に「プログラミング」と呼んでいる行為が、コミュニケーションの一様態であることにもうとっくにお気づきでしょう。子供にお使いを頼むのも、パパがママの気持ちを先回りして考えるのも、全てはコミュニケーションの問題なのです。」

*2:ただしこの種の買い物ジョークは,ヤングマガジンのBE-BOPアジア選手権で「弟に千円札を渡してヤンマガ買いに行けと言ったら5冊買ってきた」というのを読んだことがあるので,牛乳の件はあまりインパクトを覚えなかったのでした.

*3:「ビール」と「烏龍茶」は銘柄を指定し,それ以外の飲み物は安いのでいいやというのは,自分勝手でしたね.