Scala関数型デザイン&プログラミングを読み始めました

Scalaを書いたりしているものの、ちゃんと関数型言語の勉強したことがないなと思い、 Scala関数型デザイン&プログラミングを読み始めました。

関数型プログラミングといえば、すごいH本こと「すごいHaskellたのしく学ぼう!」が定番らしいのですが、 Haskellの文法知らないのでHaskellも覚えつつ関数型の勉強するの難しいかなと思って、こっちにしてみました。

今のところ3章の途中まで読み進めたのですが、僕にとってはちょうど良い本という感じです。 Javaが書ける人がScala始めてみたけど、綺麗に書けない...!もっとScalaらしい綺麗なコード書きたい!!みたいな人に向けて書かれていそうです。 抽象度が高い話が多いので、ただ読んでるだけだと???みたいな感じになりがちなんですが、 この本は演習が結構多いので、実際に手を動かして読んだことをチェック出来て理解が深まりやすいです。

時間測りながら読んでたんですが、最初から3.3節まで演習込で4時間かかりました。 (まだ最初のほうなのに遅い)

カリー化ってこういう風に実装されてるんだーとか、Scalaコンパイラ型推論しやすいコードを書くのはこうするのかーみたいな新しい発見が得られて良かった。

演習解いた結果をここに残してます。(間違ってるかもしれないです!) github.com

5章の正格と遅延や、10章モノイド、11章モナド、12章アプリカティブあたりが難しそうだなって思ってるので、 最後まで完遂できるよう頑張る!!