プログラミング言語に終始している
- AIも、
- (狭義の)ソフトウェア開発での、(束論的)束構造の因果ダイアグラムも、
プログラミング言語「以外」に目を向けていて、成果を得ていると思います。
しかし、関数型の誤解として、
- プログラミング言語に終始している
事が有ると思います。
これにより、
- 良い事(抽象とか高階とか純粋とか)を、
- ローコスト、ノーコストで得られる事になる
- 得られる理由は、その良いことが、プログラミング言語に終始している場合、何もしないになる為
と言う虫が良すぎる結果を産みます。
関数型の原罪?
大昔のLisp言語で、
- ラムダ抽象
と言う言い方をした様ですが、
- 抽象は、
- 特定の具体的な詳細から離れて、物事の共通の性質や本質的な特徴を捉える
- 思考のプロセス
(Google Gemini 2.5 Flash に、2025/6/18 AM4に、「抽象とはどの様な概念でしょうか?」と質問)
と言う通り、
- 何かに終始していては、何もしないになる
行いです。プログラミング言語に終始しつつ、「抽象」と言われても、
そもそもプログラミング言語とは、抽象化をし尽くした一種の到達点で有り、
さらにそれをしても、
- 単なる、少数の変数の強調
以上の事にはならないのに、「抽象」と言う金字塔をローコスト、ノーコストで得られ、優位だ、としているのです。
これを誤解と言わずして、何と言うのでしょうか?
Haskell言語の大罪?
Haskell言語では、
がこれに当たります。
「高階」と言った際の対象に対し、足し算とか引き算とかせず、そのまま参照するだけ、だったり、
IO(Databaseクラスのシングルトンの様なものだと思います)に対し、コンパイル時に一切操作せず(当たり前ですが)、純粋だと言ってみたり、
です。
これでは、良い事をローコスト、ノーコストで得られるのは当然で、これを誤解と言わずして、何と言うのでしょうか?
品質管理の要諦
品質管理は、(狭義の)ソフトウェア開発での、(束論的)束構造の因果ダイアグラムで言うと、
- 承認された原因からたどれない、(プログラマーなどが勝手に妄想した)野良の原因(これが有ると、束構造で無くなる)が無い
事を管理する事では無いかと瞥見します。
(私は、専門家で無く、実務にも携わった事は有りません。)
これはプログラミング言語に終始していては、正邪の判定が出来ないはずです。
プログラミング言語に終始している、関数型は、
- 何を言っても正しい、
- 取りなしをする先生にとっては有り難い
- しかし、実務では品質管理に値しない
やり方だと思います。
これを実務に持って来るのは、これを誤解と言わずして、何と言うのでしょうか?
結論
これからも「関数型の誤解」でプログラミングが嫌いになる人は存在し続けることでしょう。