02-関数型プログラミングを学ぶことの重要性
「プログラマが知るべき97のこと」の2つ目の話題はこれも旬な関数型プログラミングの話題です。マルチコア時代が関数型プログラミングの流行の1つの理由ですが、自分も「関数型プログラミングのパラダイムを充分に学べば、その知識、技術は、マルチコアへの対応以外にも幅広く役立つでしょう」という記述に共感を覚えます。
きのこ本にも書いてあるように最も重要なの参照透過性(referential transparency)です。簡単にいえばどんな状況でも入力(インプット)に対する出力(アウトプット)が変わらないことです。それはオブジェクトの副作用を減らすこと、不変オブジェクトを好んで使わなければ実現できません。全ての状況で 参照透過性を遵守したほうが良いわけではありませんが、参照透過性を意識した設計は、単体テストがやりやすく、開発の現場でも強く意識させている項目の1つです。自分の場合は、Scalaを知っていく中で、これまでJavaで培ってきたノウハウへバックポートしてきました。Scala自体はまだまだ使いこなせているわけではありませんが、Scalaを学ぶことでJavaのコードがより関数的になり、単体テストがやりやすくなり、テスト駆動開発を推進させる事になっています。
結論は変わりません。皆さんも関数型プログラミングを学びましょう。
- 作者: 和田卓人,Kevlin Henney,夏目大
- 出版社/メーカー: オライリージャパン
- 発売日: 2010/12/18
- メディア: 単行本(ソフトカバー)
- 購入: 58人 クリック: 2,107回
- この商品を含むブログ (350件) を見る