レポート・ライブラリ|株式会社アイ・ティ・アール

【R-222052_6962525999】関数型プログラミングのビジネス価値

作成者: 株式会社アイ・ティ・アール|Sep 18, 2023 2:40:40 AM

Scalaのような関数型プログラミング言語に注目する企業が増えている。コードがシンプル、テストが容易、バグ発生確率が低い、高速処理が可能という、このプログラミング手法の特徴を活かすことで、企業の内製力を向上させることができる。

関数型プログラミングとは何か

アプリケーション開発にScalaを採用する企業が増えている。Scalaは2004年に公開された関数型プログラミングとオブジェクト指向プログラミングの両方の特徴を持つ言語である。図1に代表的なScalaの採用事例を示した。

図1.代表的なScala採用事例

出典:公開情報を基にITRが作成

関数型プログラミングとは、ITR Review 2022年4月号『宣言的パラダイムとは何か』(#R-222044)で解説した宣言型パラダイムに属するプログラミング手法のことを指す。関数型プログラミングは、関数の組み合わせでプログラミングする方法である。ここでの「関数」とは数学的なものを指しており、解決すべき課題を数学的表現で記述するものである。

関数型プログラミングの大きな特徴として、「参照透過性」を持つことがあげられる。参照透過性とは、数学における関数と同じように、ある値を関数に与えると必ず同じ結果を返すという性質を指す。当然のことにも思えるが、プログラミングの世界ではプログラムは「状態」を持つことが多く、その状態によっては同じ値を与えても異なる結果が返ってくることが多い。関数型プログラムが参照透過性を持つということは、そのプログラムが状態を持たないことを保証する。このような特性から、関数型プログラミングは並列処理に適しており、多種多様なデータを用いて大量の処理を迅速に行うことが要求される企業アプリケーションに適しているといえる。