27 人中、24人の方が、「このレビューが参考になった」と投票しています。
Scalaでアプリケーション/ライブラリ開発を考えている方は是非どうぞ,
2010/3/23
レビュー対象商品: Scalaプログラミング入門 (大型本)
先日までScala本といえば「Scalaスケーラブルプログラミング」(通称コップ本)
しかありませんでしたが、ようやく2冊目のScala本が出てきました。
こちらは、Scala言語で開発されたWebアプリフレームワークLiftの開発者が
執筆した本です。
この本はまだ頭の部分と、あと全体的にパラパラめくっている程度なのですが、
コップ本との比較も含めてこの本で受けた印象を記述します。
- 導入部分は若干単刀直入的だが、何とか消化できそう
HelloWorldサンプルから数ページめくったところで、早々にflatMap、foldLeft、
Optionといった関数型言語のノリのサンプルが出てきて、関数型言語の考え方を
全く知らないプログラマーには「いきなり」かな、という気もしました。
しかし、フレンドリーな語り口調の文章でしっかりあらましが説明されて
いるので、ある程度プログラミングの素養があれば、それでも何とかついて
いけるかもしれません。
- 言語利用の立場で書かれている
コレクション/イミュータブル、パターンマッチ、アクター、トレイト、
パーサーコンビネータ、ユニットテストといった話は、コップ本でも
解説されていますが、視点・重点が異なっています。
コップ本は言語設計者自らが書いた本で、そのためか言語仕様とその思想・
設計の背景といった部分により重点が置かれています。
それに対してこの本では、Scala言語を用いてアプリケーションやライブラリを
開発する人の視点でかかれており、実装のコツ・ノウハウ的な内容が多いように
見えます。
例えば、第4章の「関数の楽しみ。JDBCコネクションを閉じる必要はありません」
のタイトル自体、Scalaを使ってアプリを作る人にとって興味が湧くのではないで
しょうか。
また第9章の「チームをScala化するためには」という部分は、Scala導入に
あたりどのような開発プロジェクトで始めるのがよいか、とか、どのような
スキルを持った人がいるとScalaの特徴を活かした開発としやすい、といった
非技術面での見識がまとめられています。これも、実際の言語導入時の悩み
どころなので、参考になると思われます。
- 難易度は、こちらのほうが低い
コップ本は私のような中級プログラマーにとってかなり理解困難な部分が
あります。Scala言語の全容を俯瞰するために、説明もサラっと流している
ところもありますし、Javaからステップアップしてアプリケーションを
開発しようとする人が読むには辛いです。その点でやはり上級者向けと
いった感が強いです。
その点こちらの本は、コップ本に比べると狭く深く、といった感じでしょうか、
かなりキッチり説明されています。私もまだ本格的には読んでいませんが、
時間をかけたなりには読みとけそうな感じがします。
本格的にScalaを使おうという人であれば、2冊とも買っても良いでしょう。
どちらの本もそれぞれの良さがあるのは確かです。
ただアプリケーション開発者がどちらか1冊を選ぶとすれば、こちらのほうが
良いように思われます。
星は、Scala勉強〜実践中の私にとっては5です。
レビューを評価してください
このレビューは参考になりましたか?