関数型プログラミングとは何かを理解する
FP とは、関数が非常に重要であるかのようにプログラミングすること 関数をあらゆる場所、あらゆるものに使う
大きなプログラムを小さなパーツで組み立てている場合
FP の場合、このパーツが関数になる
プログラムの一部をパラメータ化する必要や、コンポーネント間の結合を軽減する必要がある場合
FP の場合、関数を使ってパラメータ化する
DRY に従って、多くのコンポーネント間でコードを再利用したい場合 FP の場合、再利用可能なコードを関数にまとめ、関数合成を使ってそれらを組み合わせる 単なるスタイルの違いではなく、プログラミングに対する考え方が異なることを理解すること
別の パラダイム で生じる問題をそのまま答えるのでは駄目 e.g.
コレクションをループするにはどうしたらよいか
その疑問が解決したかった根底の課題をどう解決するかを考える
e.g.
コレクションの各要素に対して アクション を実行するにはどうしたらよいか 振る舞いをパラメータ化するにはどうしたらよいか