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

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

関数型の誤解 3

プログラミング言語に終始している

  • AIも、
  • (狭義の)ソフトウェア開発での、(束論的)束構造の因果ダイアグラムも、

プログラミング言語「以外」に目を向けていて、成果を得ていると思います。

しかし、関数型の誤解として、

事が有ると思います。

これにより、

  • 良い事(抽象とか高階とか純粋とか)を、
  • ローコスト、ノーコストで得られる事になる
  • 得られる理由は、その良いことが、プログラミング言語に終始している場合、何もしないになる為

と言う虫が良すぎる結果を産みます。

 

 

関数型の原罪?

大昔のLisp言語で、

  • ラムダ抽象

と言う言い方をした様ですが、

  • 抽象は、
  • 特定の具体的な詳細から離れて、物事の共通の性質や本質的な特徴を捉える
  • 思考のプロセス

Google Gemini 2.5 Flash に、2025/6/18 AM4に、「抽象とはどの様な概念でしょうか?」と質問)

と言う通り、

  • 何かに終始していては、何もしないになる

行いです。プログラミング言語に終始しつつ、「抽象」と言われても、
そもそもプログラミング言語とは、抽象化をし尽くした一種の到達点で有り、

さらにそれをしても、

  • 単なる、少数の変数の強調

以上の事にはならないのに、「抽象」と言う金字塔をローコスト、ノーコストで得られ、優位だ、としているのです。

これを誤解と言わずして、何と言うのでしょうか?

 

 

Haskell言語の大罪?

Haskell言語では、

がこれに当たります。

「高階」と言った際の対象に対し、足し算とか引き算とかせず、そのまま参照するだけ、だったり、

IO(Databaseクラスのシングルトンの様なものだと思います)に対し、コンパイル時に一切操作せず(当たり前ですが)、純粋だと言ってみたり

です。

これでは、良い事をローコスト、ノーコストで得られるのは当然で、これを誤解と言わずして、何と言うのでしょうか?

 

 

品質管理の要諦

品質管理は、(狭義の)ソフトウェア開発での、(束論的)束構造の因果ダイアグラムで言うと、

  • 承認された原因からたどれない、(プログラマーなどが勝手に妄想した)野良の原因(これが有ると、束構造で無くなる)が無い

事を管理する事では無いかと瞥見します。
(私は、専門家で無く、実務にも携わった事は有りません。)

これはプログラミング言語に終始していては、正邪の判定が出来ないはずです。

プログラミング言語に終始している、関数型は、

  • 何を言っても正しい、
  • 取りなしをする先生にとっては有り難い
  • しかし、実務では品質管理に値しない

やり方だと思います。

これを実務に持って来るのは、これを誤解と言わずして、何と言うのでしょうか?

 

 

結論

これからも「関数型の誤解」でプログラミングが嫌いになる人は存在し続けることでしょう。