見出し画像

関数型プログラミング ~関数合成 編~

関数型プログラミングと聞くと、慣れていない方は少し敬遠してしまうかもしれません。

しかし、根本原理はシンプルで、『数学の関数のように、プログラムの関数を扱う』ということです🌟

数学の関数とは、単純化すると『y = f(x)』に代表される式です。

数学の関数は、『関数合成が出来る』という特性を持っています。

簡略化すると以下のように表すことが出来ます。

=========================
関数1:y = f(x)

関数2:y = g(x)

↓ 関数合成 (関数1+関数2)

合成関数:y = f(g(x))
=========================

この『y = f(g(x))』のように、プログラムの関数を自由に組み合わせることが出来れば、プログラミングの自由度が高まり、さらに値も常に一定のものが期待出来るという堅牢性も向上します。

『自由度&堅牢性』の向上という、一見、相反するものを高める試みこそが、『関数型プログラミング』なのです💖

最近、私はScalaで関数型プログラミングを学んでいますが、Scalaの言語デザインの美しさも相まって、関数型プログラミングを楽しんでいます😉

この記事が気に入ったらサポートをしてみませんか?