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

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

実用的な真の関数型言語 4

私のいままでの発言

私は、このブログや、それ以前の発言全てに渡って、

  • 関数型プログラミングがまやかしだ!

とかは一切言っていません。コボラーとしての経験から、そういう、

  • 出来る事を減らす代わりに良くなる

事は有る、と(少なくとも20年前から)心底思っていたからです。そうでは無く、

  • 何でこれが関数型なんだ

という批判の方法をしていたと思います。

 

 

ただ1つ、

ただ1つ、

  • (「社会実装を伴う、数学的抽象化の禁忌 4」で、)
  • 制御の反転(Wikipedia 日本語版)の、
  • (中略)
  • 抽象(インターフェース)以外の「データの作りの制約」などについて、消えたのでは無く、隠しただけとし、

との批評をしたのが気がかりでした。

しかし、

  • ビジネスルールとは、2階からの依存関係から「多くが」(個人的には「全てが」)成り立ち、
  • 1階で有る、変数名の置き換えでは、依存関係を消す事は出来ない

つまり、

  • 変数名の置き換えは、地を這うものの処世に過ぎず、
  • 空を飛ぶものには届かない

とするなら、この批評は正当では無いか?と思うに至りました。

クリーンアーキテクチャ(Wikipedia 日本語版では、「ポートとアダプタ」文書で言及)などは、その「変数名の置き換え」という企てにより、

  • 前から有る依存関係を消す事が出来る

と述べているそうですが、そううまくいくとは、矢張り考えにくいです。

 

 

結論

別のWeb記事で、パラダイムの回天には、親世代(おじ世代?)の◯が必要では無いか?という記事を見ました。
それを踏まえると、理想への到達には、まだ10年単位でかかる、と思っておくべきなのかも知れない、と痛感しています。

これからも「実用的な真の関数型言語」に関する認識の曇りの横行でプログラミングが嫌いになる人は存在し続けることでしょう。