IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

関数プログラミング実践入門

書評が出来る程のスキルがあるわけではないので、つらつらと感想を:

  • 一つ一つの用語の定義がわかりやすいと思います。
    • 例えば、箱に例えない変数の説明がわかりやすいと思いました。(2.3)
  • 言語間の比較がサンプルを用いて説明されていて、haskellの特徴がよくわかります。(1)
  • JavaのVisitorパターンに対応するHaskellのサンプルコードをみるとJavaでプログラミングする気がなくなりますね。(1.4)
  • オススメの開発/設計テクニックの章が本書のハイライト。これの章だけ読んでも十分おつりが出る感じです。(6)
    • トップダウンでアプローチしていくコーディングのテクニックが説明されています。
      • 型を意識してコーディングしていくことが繰り返し説明されます。
    • 関数型言語は小さな関数を集めて複雑な処理を実現するといわれることがあるので、ボトムアップで考えるのかなと思っていたのですが、良い意味で裏切られました。
      • トップダウンコーディングした数独ソルバーのコードが短過ぎる。(6.2)
        • 以前、初めてのAndroidという書籍を読んで、数独Javaプログラムが例題としてありましたが、そのコードと比較すると、圧倒的にHaskellのコードが簡潔です。
  • 遅延評価について、たいていの入門書籍では無限列くらいの例しかなく説明が少ないが、本書では詳しく解説されていて勉強になった。(4)
    • 遅延評価のメリット、デメリット両方が解説されている。(4.2)
  • モナドの説明は難しい。(5)
    • IOモナドが詳しく取り上げられなかったのは、期待していただけに、すこし残念だった。(5.3)

時間をおいてからもう一度読んでみようと思います。