本書は、Perlでいうところの「モダンPerl入門」またはPythonで言うところの「エキスパートPythonプログラミング」に対応する感じの中級を目指す人向けの本ですね。なお、Scalaだけでなく色々な言語をかじっていれば楽しく読めるので良いですね。
一通り読んでみて、5,6,7章が良かった。10章はあとでゆっくり(今継続やってもあれなので)。あと、標準ライブラリのソースも読んだほうがいいなと。
1,2章
文法等の話はコップ本等で補足しながら読まないとよくわからないんじゃないかと。逆に言うと、コップ本の後に読んだ時にきちんと理解しているかどうかの確認としてよろしい。個人的にはコンパニオンオブジェクトとか、補助コンストラクタ、パッケージオブジェクトあたりの説明が役に立った。あと2.8-2.9の新機能紹介。
3章
関数型プログラミングに関して。基本的な内容だったのでサラっと流して最後のほうだけ。
カリー化による部分適用はプレースホルダー構文による部分適用よりも柔軟性が低い
Haskellで引数の順番を入れ替えるflipっていう関数はあるけど、プレースホルダー構文のほうが楽ですね。
4章 他言語との比較
4-1とHaskellとの比較が大変参考になった。それから4-2のStructual SubtypingとNominal Subtypingの話はわかりやすかった。もう少しScalaを使ってみないときちんと理解してるかどうか不安な部分もあるけど。
5章 開発環境
とりあえず、sbtを入れてみた(0.11.0)けど、本のバージョン(0.7.5)のように起動時にディレクトリのスケルトンは作成しないようだ。?ってなったので調べたら0.7系と0.10系は結構変わってるらしい。まぁ、直接ドキュメント読みながら覚えていくからいいかなぁと思った。今、エディタはEmacs使って書いてるけど、そのうちEclipseに移行するのかなぁ、わからんなぁ。テストはなんかプロジェクトを作ったら使うけど今のとこは小さいサンプル動かしてるだけなのであまりそそられてない。
6章 WAF
Play!が面白そうなので只今絶賛いじり中
7章 デザパタ
Javaのデザパタ本をScalaで一回書いておくのがいいかなと思った。それからScalaのためのデザインパターン(Loan,Concept,Cake)は勉強になった。Cakeはいまいち飲み込めてないけど、あとで手を動かして考えてみる。
8,9章
流し読んだ
10章Actorと継続
Actorは軽く流してあったが継続は30ページ超えという。なぜか継続はワクワクしますな。ちゃんと読んでないのであとでゆっくり読む。
多分読んであったほうがよいと思われる本
Scalaをある程度知っているのが前提だと思われるので。
Haskellも基本的なところは抑えつつRWHくらいまで読んでおいたほうが吉ですね。ちなみにプログラミングHaskellは名著なので練習問題も含めて一度は解いておくべきでしょう
Javaは知らんが、個人的にはパーフェクトJavaでも買おうかなと思っている(パーフェクトJavascriptがとても良かったので)。
デザパタ知らないヒトはいないと思いますが、読むならこれですね。