関数型プログラミングの肝=副作用がないこと
Lisp勉強のメモ。
はじめてのLisp関数型プログラミング――ラムダ計算からリファクタリングまで一気にわかる (Software Design plus)
- 作者: 五味弘,272
- 出版社/メーカー: 技術評論社
- 発売日: 2016/03/18
- メディア: 大型本
- この商品を含むブログ (4件) を見る
(p.20)
1.5 関数型プログラミングを使いこなすには
1.5.1 副作用のないプログラムのために
関数型プログラミングで一番大事なことは、副作用のないことです。
他のことは忘れてもこれだけは覚えてください。
1.5.3 不純関数型プログラミングのススメ
関数型プログラミングに限ったことではありませんが、新しいパラダイムには少しずつ慣れていくのが、結局は一番の早道になります。
前にも書きましたが小さく簡単な純粋関数型プログラミングから始めて、段々と大きく複雑にしていくのがいいでしょう。
また純粋でないハイブリッドな(不純な)関数型プログラミングも使い方によっては有効です。
このときに注意することは純粋関数型プログラムの部分とそうではい部分を疎結合にし、分割できるようにしておくことです。
これはたとえばレガシーラッピングするときの鉄則ですが、関数型プログラミングでも同様なことが言えます。
- 副作用がない関数 …関数型
- 副作用がある関数 …手続型、オブジェクト指向型
練習の段階では、副作用のない小さな関数型プログラムを組んでみる。
副作用のある手続き型プログラムと、副作用のない関数型プログラムを併用したハイブリッドなプログラムを作ってみる。
=副作用がある部分と、副作用がない部分を分離して管理しておく。
JavaScriptとかで関数型プログラミングを導入する場合、ハイブリッドにしておけばOK?