嫌われプログラミングの代弁者

「何で頭ごなしに嫌う人間が居るのか」を色々考える

因果推論に関する教示 6

プログラムの原因なんて一目瞭然では無いのか?

前に「常識が通じない 1」で、

「非常識」とは、

  • 多数の人間が体験するさまざまな可能性の中から、起こりにくい事
  • しかし全歴史の中で1回しか起きていないとかでは無く、もう少し頻度の高い事

とし、

  • このプログラムで「必要な」「非常識」とは何か
  • プログラム内では陰に表現されているのみ(苦労して読み解かないと見えない)

と書きましたが、本当にそうだと思います。

 

要求こそプログラムの原因では無いのか?

  • 要求が有るからこそで、それがプログラムの原因では無いのか?

というのは部分的に正しいとは思います。ただ、

  • 要求は、因果ダイアログの上限の方にあり、プログラムは下限の方にあり、
  • 欲しいのは、プログラムと近い原因、かつ要求ともリンクされたもの

だと思います。

前に「テストを書いてくれない 1」で書きました通り、

状況を模式的に言うなら、

  • 要件定義書とは、いくつかの必要とする点を指定したもの
  • プログラミングとは、それにふさわしい滑らかな曲線を描くこと
  • ふさわしい滑らかな曲線は、複数存在する
  • 「無限」で無く、「複数」なのは、プログラミングの技術的制約のため

であり、要求より因果ダイアログで、プログラムにより近しいはずの要件定義書であってすらプログラムとより遠い原因となります。

 

昔は書いていたが、書かなくなった

昔はコボラーとして、詳細設計書は書いていました。しかしだんだん書かなくなりました。

(それらを規則として書かせなくなった)理由は、

  • 不純だ

からだと思います。プログラムが全てで、それに関する説明など余計だという主張が主流になったからだと思います。*1

 

「因果推論の科学 「なぜ?」の問いにどう答えるか」でベイズ統計学が迫害された歴史について書いていますが、モデル(因果ダイアログ)を使うことが

  • 不純だ

とされた歴史的事実と相似するのかも知れません。

 

結論

これからも「因果推論に関する教示」を周りの人にされる事でプログラミングが嫌いになる人は存在し続けることでしょう。 

*1:もちろん、裏の理由として「書くと検証され易くなって、間違いを指摘され易くなるから」というのも有ったと思います。