プログラムの最小単位
関数型プログラミングで好んで例示される、ごく単純なプログラム一式を超えた規模のプログラミングの場合、
例えば、
- 関数呼び出しは、
- 複数の、
- 関数で無い、プログラムの一部分を混ぜたもの
となる事が大半です。
ですので、関数はプログラムの最小単位では有りません。
例えば、
例えば、アノテーションやヒントは、
- それだけで、
- 別のプログラムの一部分を混ぜたもの
です。
前に、「約束された失敗 1」で述べた通り、プログラミングにおける関数は、
- 万人に分かりやすくする為に(即、安全につながる)、
- (交通ルールで交差点等でしている様に、意図的に)出来る事を減らしている(交差点の様な広い場所なら、潜在的に無限の通り方が有るはずだが、そうしないのと同様の)という使命を持った、
- それだけで表現としては能力を出し尽くしている状態
ですから、
- ごく単純なプログラム一式を超えた規模のプログラミングの場合、
- 別のプログラムの一部分を混ぜる以外に、
- それを(「ごく単純」を超えた規模を)実現出来ない
というのは仕方ない事です。
関数は、
関数は、その性質の良さ故に、プログラムの最小単位たり得ません。
最小単位は、もっと混沌とした、
- 単なるプログラムの一部分
としか言いようの無いものです。
このブログでは、
- 仕様からの射を受け取る単位を、
- 「手続き」と呼ぶ
事にしています。必然的に、最小単位となります。
手続きは、関数やオブジェクトと異なり、もっと混沌としたもので、この任に(信じられない程)合致します。
結論
これからも「何指向でもダメな時はダメ」で、原因ー結果の分析の併用が必須という超絶当たり前の事が、どこにも記事として公開されていない事でプログラミングが嫌いになる人は存在し続ける事でしょう。