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

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

階位差が出来る理由? 3

(訂正開始 2026/6/21 AM8)2階イデアル? 1階イデアル?*1(訂正終了)の別案

大昔、汎用コンピュータのCOBOLシステムで、

  • この動作は、どういう理由でこうなるのか?

を調べる、問い合わせ係だった事が有ります。

そこで、余りに多い事例として、

  • 複数の、どう考えても関係が見当たらない部品たち(COBOL 85では、ほぼ関数)
  • をある呼び出し元プログラムで、並んで呼び出す(CALL)

事が有りました。

ぶっちゃけ、これは何かと言うと、

  • 同じタイミング(刻々変わる、項(値)について、同じものを利用する)での実行の保証
  • (追加開始 2026/6/21 AM8)すなわち、ただ並んで呼び出される(CALL)事で「同期」を表現する』(追加終了)
  • 以外の何者でも無い、他の説明が(訂正開始 2026/6/21 AM8)無い 有り得ない(訂正終了)

事だけでした。

(追加開始 2026/6/21 AM8)RDBが無くても、同期の表現は有り得ます。(追加終了)

多分、COBOLをリライトした、Javaでのシステムでも、同じ事が起きている可能性は、十分に有ると、思います。

 

 

非同期は普遍的に有って、有害

複数の、別個の思惑を持つ、対象が使う、RDBを使うだけで、非同期は普遍的に有る事になります。

逆に、RDBを嫌がり、端っこに追いやる手法は、セルフメイドの非同期対応を招来する事になるでしょう!!

そうでは無く、単に、

  • 並んで呼び出す

だけが、

  • (本当は困難の元凶で有る)非同期を何とかする
  • 同期を取る

となる事は、特に事務計算(バックエンド側)では普遍的だと思います。

(もちろん、「何らかの処理をしないと、行の実行が終了する前に、次の行が始まる」様な(厄介な?!)言語は使わないものとします。)

 

 

結論

並んで呼び出すだけの重要性は大きいと思います。(テンプスパティウムのご加護を!)

これからも「階位差が出来る理由?」の不明瞭さでプログラミングが嫌いになる人は存在し続けることでしょう。

*1:ただ「並んで呼び出される」のは、述語(詳細仕様)を議論しておらず、1階が妥当と思われる。