「関数だ」との主張を好意的に解釈すると
もしかするとですが、
- 「関数」を持ち出した人間は、比喩のつもりだった
のでは無いかと思う様になりました。
数学畑でもソフトウェアシステム畑でも無い人が、です。
それなら、
- 全てを関数として扱う
とかが成立するからです。
不運1
数学では、比喩なんて有りません。比喩的なもっと抽象的な概念は、別の名前を付けるはずです。
そうすると、関数とは、(一貫して)地を這う存在の如く、俯瞰が出来ない存在になります。
曖昧で、厳密さに欠ける、自然言語が、鳥の視点を持つのと対照的です。
不運2
プログラマー(私も含めて)に関数と言えば、defunだとか、型定義だとかで記述されるアレら以外思いつきません。
また、職業人としては、特に、思いつくべきでは有りません。
関数とは、関数名が有って引数が有って、結果が有るアレに限られます。
プログラマーに、「考えるのはお前たちだ」と言っても、何も進みません。
不運3
関数や型は、オブジェクトと同じ欠点を持ちます。継承がダメ(その様な都合の良い共通性も無いし、インターフェースもちっとも不変で無い)なのと同じで、
型もダメ(その様な都合の良い共通性も無いし、インターフェースもちっとも不変で無い)のです。
オブジェクト指向をコケにした勢いで、関数や型を褒めても、全く意味が有りません。欠点を共有している点は(それこそ)不変だからです。
不運4
もちろん、比喩の存在としての関数が存在するならば、その様な不運は一挙解決だったのかも知れませんが、
- 比喩で有っても良いから
- 新しい、素晴らしい
- が全く無かった(10年経っても、20年経っても出てこない)
のが大きいと思います。「比喩の存在としての関数」は、形而上的存在ですら無い(もっと悪い)のだと、強く思います。
結論
もっとも好意的に捉えても、これですから、
これからも『特定の側のみからの「ベストプラクティス」』を無理押しされる事でプログラミングが嫌いになる人は存在し続けることでしょう。