関数型言語

<< 戻る   トップ >>

ベイブレード@TAKARA TOMYのベイスタジアムを占拠するシリウス。猫鍋の変種である。

「関数型言語」という言葉を聞いた記憶を遡ると、確実なのは 2015年である。2015年4月に出版された岡部 健 「関数型プログラミングに目覚めた!IQ145の女子高校生の先輩から受けた特訓5日間」を手にとったか、Amazon で試し読みしたのだ。それ以前に「関数型プログラミング」とか「関数型言語」については名前は聞いており、その詳細を知りたかったのだろう。

かつて、パソコンが 16bit CPU で動いていたころ、N88BASIC(86) でパソコンのプログラムを学んだ。BASIC の全ステートメント・関数を使うというかなり無茶な学び方をした。そのころ作ったプログラムに、グラフをプロットするものがある。BASIC がスパゲティなことをいいことに、コアはリニアなグラフをプロットするのだが、それより少し前の行に GOTO 文でジャンプすると縦軸を対数化して方対数グラフになり、さらに前方の行にジャンプすると横軸も対数化して両対数グラフができる、という代物だ。GOTO文を多用し、スパゲティであることを利用して作ったので、対数処理と線形処理が濃厚に絡み合った、解きようのないスパゲティとなった。正直言って、動いていたのが奇跡である。

こんなことをしていていはイカン、と思ったときに知ったのが構造化プログラミング言語である。もう少し時期が早ければ PASCAL を選んだと思うのだが、幸い MS-DOS 用の C の処理系が手に入るようになっていた。Desmet C や教育機関向けの Lattice C はいろいろと使い込んだ。そして C の構造体の中に関数ポインタを埋め込んで、データと機能をひとまとめにする、なんてことをして悦に入っていた。オブジェクト指向プログラミングの入り口の玄関マットの端ぐらいまではたどり着いていたのだ。その後 C++ を経て Java を使うようになって今日に至る(口の悪い C++ 使いの友人に言わせると、C++ から Java への宗旨替えは堕落なんだそうだ)。

構造化にせよ、オブジェクト指向にせよ、必要・必然を感じたときにそこにあった、あってくれたというのがこれまでの経験だ。そして、正直言ってオブジェクト指向の「次」への欲求は生じていない。そんなときに「次」として喧伝された(と思ったのが)のが「関数型プログラミング」「関数型言語」であった。(つづく)


作成: 2020-06-27 10:48:13更新: 2020-06-27 11:17:20
https://museo-anonimo.jp/nanban/?id=1529,https://museo-anonimo.jp/nanban/tr/1529