読者です 読者をやめる 読者になる 読者になる

paiza開発日誌

IT/Webエンジニア向け総合求人・学習サービス「paiza」(https://paiza.jp ギノ株式会社)の開発者が開発の事、プログラミングネタ、ITエンジニアの転職などについて書いています。

初心者でもほぼ無料でScalaを勉強できるコンテンツ8選

f:id:paiza:20161207175314j:plain
Photo by Luca Sartoni

f:id:paiza:20140916135428p:plainこんにちは。谷口がお送りします。

プログラミングをこれから学ぼうとしている方や、これから研修や実務に入る新人ITエンジニアの皆さんの中には「Scalaを学習したい」という方も多くいらっしゃるかと思います。

Scalaオブジェクト指向言語関数型言語の特徴を統合したマルチパラダイムプログラミング言語です。

ScalaJavaの良さを継承し、かつスクリプト言語関数型言語のメリットを吸収した言語で、Javaの後継を担うものとして注目されています。

Scalaの利点は、Javaの良さを継承しつつ、スクリプト言語関数型言語の良いところも吸収し、先進的な機能や文法を取り入れている点にあります。また、簡易に並列処理プログラミングを行うことができるライブラリも付属しています。

Scalaは、海外ではTwitterやLinkedInなどが利用していることで知られ、普及しています。

国内でのScalaのユーザー企業としては、ドワンゴGMOメディアといったネット企業、フリュー等のソーシャルゲーム開発企業、NTTデータ先端技術等のエンタープライズ領域の企業があります。

今回は、プログラミング未経験~初心者の方が、なるべくコストをかけずScalaに触れられて、学習に役立てられるコンテンツを8件ご紹介していきます。

■プログラミング経験ゼロからScalaを覚えたい人

◆1.日本Scalaユーザーズグループ

料金:無料
http://jp.scala-users.org
f:id:paiza:20150430183038p:plain
Scalaのより一層の普及を目指している日本Scalaユーザーズグループのサイトです。

Scalaコミュニティの紹介や書籍情報、関連リンク集等が揃ったサイトで、日本語でScalaについて話せるチャットも設置されています。運営の方がScalaを始めたばかりの初心者の質問にも答えてくださるそうなので、「Scalaについて誰かに質問したい……」「周りにScalaユーザーがいない……」という方にはとても便利なサイトだと思います。

◆2.Scala公式サイト(※英語、一部日本語対応)

料金:無料
http://www.scala-lang.org
f:id:paiza:20150430183119p:plain
本家の公式ドキュメントです。最新情報等も見ることができますので、英語がOKな方はこちらからご覧になってもよいかと思います。

ガイドと概要のページです。このように一部の項目は日本語にも対応しています。
ガイドと概要 - Scala Documentation
f:id:paiza:20150507122138p:plain


◆3.SCALA BLOG & SCALA GIRLS

料金:無料
http://adtech.cyberagent.io/scalablog/
f:id:paiza:20150430180941p:plain
f:id:paiza:20150430180951p:plain
サイバーエージェントが運営するScalaに関するブログです。

RubyistScalaを勉強してみたシリーズScala超入門Scalaの世界最大カンファレンスScala Daysのレポート等、Scalaについての情報が真面目に楽しく書かれた記事がたくさんあります。めっちゃ楽しそうです。

■実際にScalaのコードを書いて動かしてみたい人

◆4.paiza.IO

料金:無料
https://paiza.io/
f:id:paiza:20150205121058p:plain
paiza.IOは、ブラウザ上でコードが書け、書いたコードをその場で実行出来るオンラインプログラム実行環境です。面倒な環境構築なしに、例えば本に載っていたコード、ネット上で他の人が公開していたコード等をオンラインで実行して結果を見ることができます。ブログパーツとして使えたり、GitHub(Gist)連携なんかもできますので、ぜひpaiza.IOでどんどんコードを書いてみてください!

詳しくはこちらの記事をごらんください。


24のプログラミング言語がブラウザで即実行できる『paiza.IO』 - paiza開発日誌

コードをリプライとして飛ばすと結果を返信してくれるツイッターアカウントで遊ぶこともできます。


Twitterでプログラムコードを実行!結果を返信してくれるpaiza_run - paiza開発日誌


◆5.Scala School!(英語)

料金:無料
http://twitter.github.io/scala_school
f:id:paiza:20150507130009p:plain
前述にもありますとおり、Scalaを使用しているTwitter社が作成・公開している、Scala学習のためのオンライン教材です。英語がOKな方はかなり分かりやすくScalaの基礎が学べるかと思います。

■基礎的なコードが書けるようになってきた人

◆6.paizaのスキルチェック問題(※β版)

料金:無料
http://paiza.jp
f:id:paiza:20150205133638p:plain
paizaでは、コーディングスキルをはかるコーディング問題の結果により、S・A・B・C・D・Eの6段階でランクが分かります。ぜひ問題を解いて、ランクアップを目指してみてください!プログラミング業務経験のない方でも、Dランクが取得できると、プログラミングの基礎的な概要は理解できているということになります。

※β版は、別の言語で解いた問題であれば挑戦できます。

◆この段階で書籍を購入するなら……

◇7.Scalaスケーラブルプログラミング第2版

Scalaスケーラブルプログラミング第2版

Scalaスケーラブルプログラミング第2版

定価:4,968円

言語設計者自らが、Scalaの考え方と使い方を解説した書籍の翻訳版コップ本の第2版です。第2版ではバージョン2.8に合わせて改変し、コレクションAPIの解説が大幅に追加されています。

レベルとしてはある程度Javaを習得した人が対象になっていると思われますので、「プログラミング自体が初心者です」という方にはちょっと難易度が高いかもしれませんが、「ある程度の勉強や実践を経てそろそろ初心者は抜け出したかな」という方や、「Javaの開発経験はあるけどScalaは初心者です」という方にはお勧めの1冊です。

◇8.Scala逆引きレシピ

Scala逆引きレシピ

Scala逆引きレシピ

定価:3,456円

「いよいよ実際に業務でScalaを使っていくぞ!」という方にお勧めなのが、このレシピ集です。実用的なコードの書き方から、フレームワーク・ライブラリの活用まで、逆引きなのでやりたいことからすぐに引けます。

Scalaを実践していて「あの処理ってどうやるんだったっけ……?」という時などに大変役立つ、手元や職場に置いておいて損はない1冊です。Kindle版もありますよ!

■まとめ

いかがでしょうか。Scala冗長な記述を省いて簡潔に書ける言語で、標準ライブラリも非常に充実しています。

興味のある方は、学習サイトでも、書籍でも、自分が気になるところから挑戦して、ぜひともScalaに触れてみてください!

さらに、勉強してある程度の基礎が身につきましたら、ぜひpaizaでご自分のスキルをはかってみてください!

paizaではScalaエンジニアの求人も多数掲載しておりますので、ぜひごらんくださいね!

paiza.jp

paiza動画ラーニングについて

f:id:paiza:20160307113923p:plain
paizaには、オンラインでプログラミング学習ができるパイザ・ラーニングという無料学習コンテンツがございます!現在、PHPRubyPythonの入門編を学ぶことができますが、対応言語は今後もどんどん追加される予定となっています。

プログラミング未経験の方でも、「やさしく・楽しく・わかりやすい1本約3分のレッスン動画」 や 「ブラウザ上でコードを書いて実行できるオンライン実行環境」「複数の練習問題」で、未経験者でも無理なく学習を続けることができます。




paizaではITエンジニアとしてのスキルレベル測定(9言語に対応)や、プログラミング問題による学習コンテンツ(paiza Learning)を提供(こちらは21言語に対応)しています。テストの結果によりS・A・B・C・D・Eの6段階でランクが分かります。自分のプログラミングスキルを客観的に知りたいという方は是非チャレンジしてみてください。

また、paizaオンラインでプログラミング学習ができるパイザ・ラーニングに、この度動画で学習できるレッスンが追加されました。動画を見たり補足テキストを読んだりしながら、自由にコーディングをして実行結果まで確認することができます!レッスンは今後どんどん追加されていく予定ですので、ぜひプログラミング学習に、教育に、お気軽にご活用いただければと思います!


http://paiza.jp

プログラミング入門講座|paizaラーニング

PHP入門編Ruby入門編Python入門編Java入門編JavaScript入門編C言語入門編C#入門編アルゴリズム入門編