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

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

因果と確率 4

技術的負債返済における「イヤイヤ期」

少し長めの引用ですが、

  • 陰伏的な関数関係が(中略)与えられていて、陽な関数関係 y = f(x) が(中略) F(x, f(x)) = 0 を満たすなら、この陽関数 y = f(x) は D 上で関係式 F(x, y) = 0 から陰伏的に得られるという。(中略)陰関数から陰伏的に得られる陽関数は一つとは限らず、一般に一つの陰関数は(中略)複数の陽関数に分解される。
    (関数(数学)→陽表式と陰伏式 Wikipedia 日本語版)

と言う記述を見つけました。

前から、

  • 技術的負債の返済において
  • 「陰関数」を徹底的に無視する傾向が有る

と思っていたのですが、それに絡んだ検索の結果です。

  • 陰関数はテストし難いからイヤだ
  • 場合分けはイヤだ

と言う技術的負債返済における態度が、

  • 抱っこはイヤだ、
  • 地面に降ろされるのもイヤだ

という態度とそっくりな気がしたのです。

特に陰関数は、そういう人間にとっての人参やピーマンに相当するのでは無いかと言う位、嫌われていると思います。

 

陰関数

しかしながら、COBOLプログラムなどで、

  • 商品の内容から金額を出す

と言った、テストし易い課題と異なり、

  • 何々を満たす"全てのもの"から何ちゃらの処理をする

と言った、業務のキモに当たる課題では、陰関数的になるのが100%の通例でした。

軽度の線形計画法や、軽度のAI学習につながる、難易度の高いロジックとなり、テストが困難になるのだと思いますが、
はじめに自動テストを書かせる人間は、この困難さを無視する(難易度の高いロジックに関するリスクを顕在化させず、リスクを(特にプログラマー)個人に負わせる)意図が有るとしか思えません。

ただ、そう言う陰関数的、逆関数的問題は存在し、無くなることはあり得ないので、はじめに自動テストを書かせようとする人間は悪だと思います。

 

結論

これからも難敵で有る「因果と確率」の存在でプログラミングが嫌いになる人は存在し続けることでしょう。