JavaからScalaへの乗り換えは実は難しくない?
大規模サービスではもはや定番?!Scalaを始めるなら押さえておきたい記事・スライド11選
Scalaはオブジェクト指向と関数型の特徴を併せ持つプログラミング言語で、簡潔かつ柔軟性の高いコーディングが行えると評価されています。
国内ではニコニコ動画、海外ではSNSのLinkedIn、Foursquareなどの大規模なサービスにも採用されているほどです。
しかし、Scala関連の記事は徐々に増えているものの、Javaなど人気のプログラミング言語に比べると情報が少ないのが現状です。
そこで本記事では、Scalaをこれから始める方の参考になる記事、サイト、スライドをまとめて紹介します。
「Scalaに興味があるけど、情報が少なくて後回しになっている」という方は、ぜひ参考にしていただければと思います。
Scalaが学べる記事・サイト
Scala Documentation - ガイドと概要のページ
http://docs.scala-lang.org/ja/overviews/
Scalaの本家サイトの公式ドキュメントで、ガイドと概要のページが日本語翻訳されています。
「コアライブラリ」「並列および並行プログラミング」「メタプログラミング」のガイドが日本語で読めます。
充実したドキュメントなので、初心者・経験者問わず、Scalaユーザーの方にはブックマークをおすすめします。
日本Scalaユーザーズグループ - ScalaJP
http://jp.scala-users.org/
Scalaのさらなる普及を目指して活動している、Scalaのユーザーズグループです。
技術記事のページでは、Scalaのチュートリアルと翻訳記事が読めます。
GitHubかTwitterのアカウントを持っていれば、「Gitter」でコミュニティのチャットに参加することも可能です。
初心者の質問も受け付けてくれるので、行き詰まったらチャットで質問してみてはどうしょうか。
Scalaプログラミング入門
http://bach.istc.kobe-u.ac.jp/lect/ProLang/org/scala.html
「Scalaでリスト処理」「Scalaで再帰プログラミング」「Scalaで複素数計算」「Scalaで素数ものさしを探す」「Scalaでエラトステネスの篩(ふるい)」、以上の5つのScalaプログラミング入門記事が読めます。
Scalaのインストール方法(Windows、OS X、Linux)から解説しているので、Scala初心者に最適なサイトとなっています。
スケーラブルで関数型でオブジェクト指向なScala入門 / @IT
http://www.atmarkit.co.jp/fjava/index/index_scala.html
Scalaの基本構文、関数、クラスなどを解説している、Scala入門の連載記事です。
全10回の連載でScalaの基本が学べます。
第1回でScalaの特徴を解説していますので、どんな特徴があるプログラミング言語なのかを理解するのに役立ちます。
Scala Cookbook
http://xerial.org/scala-cookbook/
Scalaの学習に有効なコンテンツが充実しているサイトです。
Scalaを触って日が浅い方、これから学ぼうと思っている方には、入門コンテンツの「15分で始めるScala」から読むことをおすすめします。
Scalaによるプログラミングの基礎 / GithHub
https://github.com/hatena/Hatena-Textbook/blob/master/foundation-of-programming-scala.md
「変数宣言」「パターンマッチ」「コレクション」「Option型」「for式」など、初心者向けにScalaの基礎を解説しています。
本記事では「sbt(Scala用ビルドツール)」を使っていますので、事前にインストールしておいてください。
以下の記事で「sbt」の簡単な使い方を解説していますので、本記事を読み進める前にそちらの記事を読んでおきましょう。
Scala 課題
https://github.com/hatena/Hatena-Intern-Exercise2015/tree/master/scala
Scalaが学べるスライド
めんどくさくない Scala #kwkni_scala
「コンパイルが遅すぎる」「Scala、sbtバージョン非互換」「言語仕様の学習が大変そう」「スタイルが統一されそうにない」といった、Scalaが抱える面倒なポイントを減らすためのTipsを紹介しています。
Scala初心者向けの内容になっていますので、これからScalaを学習する方はぜひ目を通しておきましょう。
ニコニコAndroid(サーバ編) - Scalaを業務で使って
ニコニコ動画の運営会社である株式会社ドワンゴの、ニコニコAndoroidサーバチームに所属しているエンジニアの方が作成したスライドです。
Java使いから見たScalaのいいところ・悪いところを業務の実体験を元に解説しています。
Javaと比較しながらScalaの特徴を解説しているので、これからScalaを始めるJava使いの方には参考になる内容です。
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
「Skinny Framework」は、ScalaのフルスタックなWebフレームワークです。
「Scala on Rails」をキャッチコピーにしており、主要APIの命名は基本的にRuby on Railsをベースにしています。
本スライドは「Skinny Framework」のメイン開発者が作成したもので、起動方法と基本的な使い方を解説しています。
「Skinny Framework」はOSS(オープンソースソフトウェア)なので、スライドを見て興味を持った方はぜひ試してみてください。
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
http://www.slideshare.net/seratch/java-scala-ichigayageek
先ほどのスライドと同じ方が作成したスライドです。
本スライドは、Javaを得意としているプログラマがScalaを学ぶときに馴染みやすそうなスタイルを紹介しています。
これからScalaを学ぶJava使いのプログラマ、エンジニアの方は参考にしてみてはいかがでしょうか。
まとめ
ScalaはJVM上で実行できる、Javaライブラリが使用可能、Javaと比べて型(クラス)を作りやすいといったメリットがあります。
JavaからScalaに乗り換える方が増えていますし、冒頭で解説したように「ニコニコ動画」などの大規模なサービスにも採用されています。
本記事をきっかけにScalaへの関心が高まった方は、この機会にぜひScalaを学んでみてください。
フリーランス(個人事業主)とは、特定の企業・...