寓話
問題を説明できる人がついにそろばんを弾き始めた
書院に算題の説明がとても上手な先生がいた。彼は問題を明確に説明でき、おおよその考え方も示せた。しかし長い計算式になると、小数点や括弧をよく間違えた。
学生は当初、先生はあまり賢くないと思っていた。先生が詳しく説明するほど、間違いは見えにくくなった。どの言葉ももっともらしく聞こえ、最後の数字だけが合わないからだ。
院長はまず、先生にゆっくり暗算するよう求めた。速度は落ち、誤りは少し減ったが、複雑な帳簿は依然として不安だった。
ある日、先生はもう直接答えを告げなくなった。まず問題を明確なそろばんの手順に翻訳する。どの数を取り、どの公式に従い、何回繰り返し、最後に何を出力するか。
隣の算手は手順どおりにそろばんを弾き、すぐに正確な結果を出します。先生は問題の意味を理解して手順を書く役、算手は曖昧さのない計算を実行する役です。
最初の協業でも誤りがあった。先生が題意を翻訳し間違えれば、算盤がどれほど正確でも正確に間違えるだけだ。院長は各段階のステップが検査可能であること、入出力を明確に書くことを求めた。後に先生はある種の問題に出会った。問題文は長いが、実際に計算すべきはわずか三步である。彼はまず自分の言葉で変数を抽出し、それからステップを算手に渡した。題意が曖昧なら、まず確認し、急いで算盤を弾くことはしなかった。
その後、書院では表計算、日付、統計、論理の問題に遭遇すると、まず先生に実行可能な手順を書かせ、道具に結果を計算させた。説明は依然として重要だが、計算は信頼できる実行者に任せる。書院は二つのリスクを確認することをも学んだ。手順の書き間違いは理解の問題のずれであり、手順は正しいが算盤の実行が誤っているのは道具または入力のずれである。分けて見れば、修正が混乱しない。
学生たちは、最良の答えは先生がすべての細部を暗算できるふりをすることではなく、いつ推論をプログラムに変えるべきかを知ることだと気づいた。先生は言った:言語は問題を理解するのが得意で、プログラムは厳密に実行するのが得意だ。複雑な問題では、両者により信頼できる部分をそれぞれ担わせるべきだ。後に管事はこの経験を日々の規則に書き入れた:まず場面を見て、次に境界を見て、最後に失敗したときに誰が引き継げるかを見る。これらがすべて明確になって初めて、美しいデモは納品可能な仕事になる。