第2版 Scalaスケーラブルプログラミング
第2版の「Scalaスケーラブルプログラミング」をid:kmizushima氏より頂戴しました。ありがとうございます。ちょうどScala 2.9でアレコレしようと思っていたところなので、大変助かります。
- 作者: Martin Odersky,Lex Spoon,Bill Venners,羽生田栄一,水島宏太,長尾高弘
- 出版社/メーカー: インプレスジャパン
- 発売日: 2011/09/27
- メディア: 単行本(ソフトカバー)
- 購入: 12人 クリック: 235回
- この商品を含むブログ (46件) を見る
まず、コレクションに関する標準ライブラリの解説は、私のような怠惰なプログラマには結構嬉しい内容でした。APIドキュメントだけでは分からない設計方針と全体像が書かれていて短時間でコレクションの概要を把握するにはもってこいです。あと、派生クラスの詳細やパフォーマンス特性の一覧もあり、どの派生クラスを使えばいいのか迷った時に頼りになりそう。viewやiteratorの動作についても「正直知らなかったよ」という内容が多く、まとめて勉強しておくとお得感が半端ないです。コレクションAPIの内部アーキテクチャについてはマニアックなので知っておいて損はないレベルだと感じますが、既存のコレクションから新しいコレクションクラスを作成する手順は知らないままでいたら無駄骨を折るところでした。確かに安い本ではありませんが、2.8のコレクションについてよく知らないまま開発の仕事をしていたらと想像すると、24,25章だけでも値段分の価値がある本だと思います。
加えて、2.9の新機能紹介も地味に助かりました。parで自動的に並列処理化してくれるのはよく知られていますし知っていたのでまぁいいとして、scala.sys.processパッケージで既存プロセスとの連携が容易になる事に気づけたのは大きかったです。「forkの便利版でしょ?パイプやリダイレクトをScala内部でやって何が嬉しいの?」ぐらいに思っていました。私が間違っていました、ごめんなさい。
あと、29章の「オブジェクトを使ったモジュラープログラミング」の章(第1版では27章)を改めて読み返してみて、実はさらっと重要なことが書いてあるんじゃないかと再認識しました。プログラム部品を入れ替え可能にするという視点は内部設計的には頻出のパターンでありながら、比較的大きい粒度の部品の入れ替えは容易でない場合が多いように感じます。この点について一つの解法を示唆してくれているという点で貴重かもしれません。以前読んだ時にはここまで思い至りませんでした。
第1版を持っている/読んだ人も第2版を機に読み返すと吉な感じです。以上ご参考まで。