パスワードを忘れた? アカウント作成
13447310 journal
日記

dotkuwaの日記: IF文こそが高階論理操作の本体ではないか

日記 by dotkuwa

関数のシグニチャは、必ず1階です。1階を強制します。
だから、数行の中身の関数にぶつ切りにすると見通しが
良くなりますが、表現力が落ちます。
 
表現力が落ちた条件で、機能は前と同じであることを
保とうとすると、しわ寄せがセキュリティーに行き、
セキュリティ完全無視の、通り一遍の機能(完全な正常
動作以外は利用者が悪い)になります。
 
引数を関数にしても、実引数の関数に関数呼び出しの
シグニチャが有る以上、単に1階の集まりです。
 
---------------------
 
電車の台車の技術に、仮想心皿方式というのが有ります。
 
>台車左右に配置されるボルスタアンカーを直角クランクピンで連結すると、
>回転中心となる箇所に心皿や中心ピンを設けることなく、台車を所定の
>位置で回転させることができる。
(Wikipedia 日本語版 「ボルスタアンカー」より)
 
プログラマーが必要に応じて適宜加えている、テストを
非常に困難にするIF文
こそが、
・地を這う物が、仮想的に1階を超えた(空を飛ぶものが
 可能な)操作をするためのギミック
 (電車の台車で言うとクランクピンやボルスタアンカーの様な)
・これにより、プログラムで直接表現できない、制約など
 を間接的に実現している。
・そもそもが1階である、現実のプログラミングで、その様な
 制約を直接表現する方法が無い。関数でぶつ切りにすると
 折角試行錯誤で得た、仮想的高階論理操作が死ぬ。
・ぶつ切りにして良いのはその直接表現する方法が有る世界に
 限るが、今次世界はそうではない。
ではないでしょうか?
 
単に、プログラムを関数のシグニチャでぶつ切りにする事
が素晴らしいとするのは、無責任です。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

192.168.0.1は、私が使っている IPアドレスですので勝手に使わないでください --- ある通りすがり

読み込み中...