次の仕事で使うので、実践Scala入門を読んだ。他のプログラミング言語の経験がある人向けの本で、Scalaの特徴がコンパクトにまとまっていてScalaを学ぶための最初の一冊としてとても良かった。
2章
- Nothing型が便利。これがないとシグネチャだけ作ったメソッドも返り値にマッチする適当な値を返す必要が出てくる
- apply/updateメソッドが便利。配列の特定の要素をindexで取得/更新したいときとかある
Scala ではなるべく多くの処理を特別扱いせずメソッドとして扱っている
この思想は素敵だなと思った。また、こういう思想的なものを書いておいてくれると、他に似たようなパターンに出会っても受け入れやすい
- パターンマッチがあって最高
3章
- Option/Either型があるのがとても嬉しい。自分はRustで慣れているが、経験のない人にとっては1章分割いて説明してくれるのはありがたいと思う。
4章
- yield付きfor式は初めて見てちょっと面食らったが、Haskellのdo記法的なものだと理解した
5章
- futureについて一通り説明があって嬉しい.Option/Either, コレクション型と続いてmap/flatMapを使うのでだんだん理解できてくるはず
6-9章
言語そのものというよりは周辺ツールや落ち穂拾い的な説明。でも実際仕事で使うとこういう内容が役に立つ。sbtはまだ理解が薄いのでreference manualを読み直そう。そういえばgradleもちょっと苦手だった。