せっかく献本いただいたので、早速 書評を。

- 作者: Dean Wampler,Alex Payne,株式会社オージス総研オブジェクトの広場編集部
- 出版社/メーカー: オライリージャパン
- 発売日: 2011/01/20
- メディア: 大型本
- 購入: 2人 クリック: 307回
- この商品を含むブログ (38件) を見る
はっきり言ってこの本は良書です。Scalaの初級から上級までと幅広い。毎日読んでいても飽きないような構成になっている。Javaでジェネリックスがある程度わかる人は、いきなり読んでも戸惑いは少ないと思う。
Scalaと聞くと関数型言語の印象が強いのですが、正しくはオブジェクト指向言語と関数型言語のハイブリッドな言語としてのパラダイムを持っています。だから、関数型言語は重要な要素ではあるのですが、その他にもJavaより優れたジェネリックスや、トレイトによるミックスインや、アクターによる並列処理、内部DSL/外部DSLなどの、多くの特徴を持っています。もちろん、関数型プログラミングも初級レベルからしっかり書かれていて、今話題の末尾再帰についても記載があります。Javaプログラマであれば、どこから始めてもウマいわけです。というわけで、間違いなく買いの一冊ですね。
難点があるとしたら、この本に限ったわけではないですが、Scala本というのはJavaが使いこなせる人を対象にした書籍が目立ちますね。この本も例外ではなく、ハードルは高いです。
Javaの世界だけで考えて行き詰まる場合でも、他の言語を知っている人はその思考に応用が効くが場合があります。たとえば、先日紹介したGoogle CollectionsのようにJavaの中で関数を実現する方法を考えれたりするわけです。(当然、言語が異なるので無茶はできませんが)
そういう意味ではScalaにはヒントがいっぱい詰まっています。ハードル高いですが、得るものは大きいと思います。