Functional Programming
関数型プログラミング(Functional Programming)は、純粋関数・不変データ・宣言型スタイルを中心とし、副作用と共有状態を避けるプログラミングパラダイムである。
目的
関数合成と不変データによって、信頼性が高くテストしやすいコードを構築する。
メカニズム
純粋関数(副作用なし)、不変性、高階関数、遅延評価、関数合成、カリー化。Haskell は純粋関数型、Scala/JS はマルチパラダイムである。長所はテスト容易性・並列化・推論のしやすさ、短所は学習曲線と性能である。
ユースケース
- コード設計
- コンカレンシーの安全性
- テスト容易性