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

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

因果推論に関する教示 7

「束構造(ラティス構造)のグラフ」

プログラミングの場合、

  • 「束構造(ラティス構造)*1  のグラフ」になる

とかは、昔読んだ雑誌(bit とか?)に書いて有っただけなのですが、

「束構造(ラティス構造)のグラフ」の因果ダイアログというのは、

  • 良い構造

で、

  • これを破る(因果ダイアログで、「初めが1つ、終わりも1つ」で無く、「初めが無限、終わりも無限」)と、
  • 哲学的な一般的正しさに直面するが(ヒュームの帰納の問題?)、
  • これ(因果ダイアログで、「初めが1つ、終わりも1つ」)に徹していると、
    コンピュータシステムの良さ(一般的な正しさなど、知ったことでは無く、当システムのみの正しさのみ)と出来る

のだと思います。

 

リファクタリングが必要な場合

リファクタリング 既存のコードを安全に改善する(第2版) Martin fowler他 オーム社」の”一番最初の”「はじめに」で、

  • 上の階層のクラスでは、クラスの共通の...サブクラスで頻繁にオーバーライドされていていた...コードをレビューして整理する必要がある

という記述がありました。

リファクタリングというのは、

  • しなければならない場合

  • 趣味、手遊び

に過ぎない場合に分かれると思いますが、前者となるのは、

  • プログラムの原因が仕様変更になった場合、
    つまり、現在のプログラム(リファクタリングが必要)の原因は、
    現在の「束構造(ラティス構造)のグラフ」から漏れてしまっている
    (上限由来では無い「原因」が1本、枝毛の様に生えている)
    ので支障が出ている(「頻繁にオーバーライドされて」の様な)

や、

  • プログラムを作った人間が、勝手に原因を作っている、
    つまり、現在のプログラム(リファクタリングが必要)の原因は、
    現在の「束構造(ラティス構造)のグラフ」から漏れてしまっている
    (上限由来では無い「原因」が1本、枝毛の様に生えている)
    ので支障が出ている(「頻繁にオーバーライドされて」の様な)

といった、『原因』、『結果』の上で、開いてしまっている場合に、一般的な正しさに直面させられてしまい、
リファクタリングが必要になってしまう。

というシナリオが考えられるのでは無いか? という考えです。

 

「拡張に対して開いている」???????

拡張に対して開いている、と言われますが、

  • 拡張時に、
  • 閉じた(「束構造(ラティス構造)の」)因果ダイアログから、
  • 別の閉じた(「束構造(ラティス構造)の」)因果ダイアログへ、
  • 変更になるだけで、
  • 開いている(一般的な正しさに直面する)という重大な事態にコンピュータシステムがお付き合いする必要性など皆無

では無いかと考えます。

 

結論

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

 

 

*1:束 (束論) Wikipedia 日本語版