逆もまた真
前に「JavaScriptが大変 2」で、
・C言語は、実メモリという大データに、関数が副作用として読み書きをする
手法ですし、・JavaScriptは、DOMという大データに、(無名の)関数が副作用として
読み書きをする手法ですし、・SQL言語は、データベースという大データに、(部分部分が)関数的とも
いえなくも無いSQL文が、副作用として読み書きをする手法ですが、
と書きましたが、
これら実用的な「関数型言語の代表」は全て、
- (それぞれの)大データに対する副作用上等
である事が特筆されます。はなから純粋関数を諦めているのです。
また、同じ記事で、
関数型プログラミングについて2つの思潮が有るとすると、上手くまとまります。 それは、
1. 何か素晴らしいとされ、しかしながら、いつまで経っても「手法固有の」事例集が作れない、形而上の“何か”を奉じて、他を排除しようとする思潮
2. 大データに絡みつく様に関数が実行され、大データの読み書き(副作用) を本質的な実行内容とし、同時に実行している関数間には直接的な通信手段が 無い、様な書き方のプログラミングを良しとする思潮
です。
と書きましたが、
前者は「より良い✖️より良い」を求めた結果、「= 悪い」となったもので、
後者は、どちらかを諦めて、現実的な実際に動く解を得たものだと解釈出来ます。
テストでも同じ轍を踏んでいる可能性を疑うべきでは?
「テストが書き辛い」と言うのも、
- 何か素晴らしいとされ、しかしながら、いつまで経っても「手法固有の」事例集が作れない、形而上の“何か”を奉じて、他を排除しようとする思潮
が絡んでいる可能性があります。
結論
これからも「テストが書き辛い」事でプログラミングが嫌いになる人は存在し続けることでしょう。