Scala学習におすすめする書籍ランキング Top5
エンジニアには自分の得意な言語や好きな言語があると思いますが、私は社内で唯一 Scala推しです。
Scalaは静的型付け言語で、オブジェクト指向と関数型言語の特徴をもつという言語で、JVM上で動作するためJavaのライブラリがそのまま使えたりします。
そんな自称Scalaエンジニアがおすすめする書籍をランキング形式で紹介させていただきます。
1位:Scala 逆引きレシピ
色んな言語やツールで「逆引き」の本が出ていますが、そのScala版です。
Scalaで何かしようとした時にそのやり方を調べる辞書のような使い方ができます。内容も詳細に説明されている項もありますので、Scalaの初学者が写経してとりあえずScalaを動かしてみる というようなステップには最適だと思います。
初心者〜中級者まで長く使える一冊ではないでしょうか。
2012年7月の発売なので、掲載されている内容が若干古くなっていますが、まだまだ使える一冊だと思います。
2位:Scalaスケーラブルプログラミング第2版
Scalaスケーラブルプログラミング第2版 (Amazonリンク)
通称「コップ本」という呼び名で親しまれている書籍です。表紙に水の入ったガラスのコップが描かれているためそう呼ばれているようです。
「Programming in Scala: A Comprehensive Step-by-Step Guide, 2nd Edition」の翻訳書で、第1版の原書はWEBで公開されています。(英語)
こちらも2011年発売となっており、Scalaのバージョンは2.8に完全対応、日本語訳の際に2.9の解説を追加されていますが、この記事を書いている時点でのScalaのバージョンは2.11なので、少し古くなってしまっています。
原書はScalaの作者も参加されていますので、内容が非常に濃く、信頼度も高いです。その分、初心者がいきなり全部を読むのは辛いと思いますが、途中まで(8章まで)であれば問題なく読めると思いますので、是非読んで欲しい一冊です。
途中まで読んで、別のScalaの本を読んだりソースを書いたりして、また続きを読むと非常に深くまで学習出来ると思います。
Collection等はJava出身者からするとこんなに特徴がわかれるのかと関心してしまいました。
第3版の発売が望まれるばかりです。
3位:Scala 関数型デザイン&プログラミング―Scalazコントリビューターによる関数型徹底ガイド (impress top gear)
Scala 関数型デザイン&プログラミング (Amazonリンク)
Scalaはオブジェクト指向と関数型言語の特徴が上手くMIXされている言語です。
本書はScalaの関数型にフォーカスし、関数型言語っぽくScalaを取り扱う方法がわかりやすく記載サれています。
「Functional Programing in Scala」の和訳本で、原書の評価が非常に高く、英語版を読まれていたエンジニアの方は多いのではないでしょうか。
内容は関数型にフォーカスされており、読み進めるにつれて難易度があがっていくため、多少なり関数型の知識があり、Scalaを別の書籍などで学習済みの方が対象かと思います。
また、本文中に例題や問題もたくさん付いていますので、手を動かしながら読み進めるととても楽しめます。
4位:Learning Scala
Scalaの初心者向けの本にしては新しく2014年12月の発売です。
まだ日本語訳はありませんが、難易度が非常に優しく設定されているため、各項のタイトルとプログラム例を見るだけでも何を言いたいのかがわかるような1冊です。
他の言語での実装経験があり、Scalaをこれから始めようと思っている!という方にはうってつけだと思います。本書を読んでからであれば、他の本も読みやすいのではないでしょうか。
個人的には一番オススメしたいのですが、英語ということもあり4位となっています。
5位:すごいHaskell楽しく学ぼう!
Scalaのおすすめ本にHaskell?とお思いかと思いますが、Scalaで初めて関数型言語を勉強し始めたエンジニアは皆Haskellを勉強し始める傾向が強いです(※個人の感想です)。Scalaで関数型言語の一旦に触れ「モナド」というキーワードに出会う頃にはHaskellを勉強しはじめるでしょう。
本書は非常にわかりやすく説明されており、Haskellというよりも関数型言語がどういうものなのかも含めて理解出来ると思います。
Scalaを勉強し始めて、関数型の壁を感じたら一度読んでみてほしい一冊です。
ちなみに英語版はWEBで無料公開されています。
Learn You a Haskell for Great Good!
まとめ
今回はScalaを学習するのにオススメな書籍を5つ紹介しましたが、他にもランキングにはいれませんでしたが、Scala for the Impatient なんかは最初に読むにはふさわしいと言われています。
(私がまだ読んでいなかったのでランキングには入れませんでした。)
一昔前はScalaは学習コストが高く、導入が難しいと考えられていましたが、Better JavaとしてScalaを使うことも可能ですし、Scalaエンジニアの人数も徐々に増えてきていますので、以前より導入に関するハードルは低くなったと感じます。
個人的な感想ですが、Scalaを勉強し始めてから関数型への扉がひらき、様々な言語や設計思想への旅が始まったと思っています。。Scalaから始まる旅を 皆さんにも体験していただきたいです。
-
お問い合わせ
SiTest の導入検討や
他社ツールとの違い・比較について
弊社のプロフェッショナルが
喜んでサポートいたします。 -
コンサルティング
ヒートマップの活用、ABテストの実施や
フォームの改善でお困りの方は、
弊社のプロフェッショナルが
コンサルティングいたします。
今すぐお気軽にご相談ください。
今すぐお気軽に
ご相談ください。
(平日 10:00~19:00)
今すぐお気軽に
ご相談ください。
0120-315-465
(平日 10:00~19:00)
グラッドキューブは
「ISMS認証」を取得しています。
認証範囲:
インターネットマーケティング支援事業、インターネットASPサービスの提供、コンテンツメディア事業
「ISMS認証」とは、財団法人・日本情報処理開発協会が定めた企業の情報情報セキュリティマネジメントシステムの評価制度です。