

Scalaって最近ときどき聞くんだけど、どんなプログラミング言語なんですか?
Scalaとは、ビッグデータの世界を変えたともいわれるプログラミング言語です。これまでの最速といわれたプログラミング言語をはるかにしのぐ速度能力を持っています。
この記事では、Scalaとは何か? また、Scalaを学べるプログラミングスクールをご紹介します。





WEBクリエイター歴15年、パラレルワーカーのYAKOが解説します!
Scalaとは?
Scalaは、2003年にマーチン・オデスキー氏と彼の研究チームによって考案されたプログラミング言語です。Javaと互換性を保つように開発され、Javaのライブラリのほぼすべて、利用することができます。
Scalaでできること
- 分散されたデータにパラレルにアクセスし、データを処理できる
- Javaとの互換性が高い
- Javaライブラリやフレームワークを利用できる
- 開発作業時間を大幅に削減可能
- アプリ開発、Webサービス開発、ゲーム開発、Webサイト開発、データ分析など、幅広く利用できる
他言語との比較
「Scala」という名前は「Scalavility(拡張性)」からきています。


うーん、でも Python、Ruby、Perl、Java だって拡張性はあるんじゃない?
たしかにPython、Ruby、Perl、Javaも拡張性はありますが、それぞれ制約があったりします。
JavaやPythonではできないこともScalaでは可能であったり、複雑なコードを最小限に抑え、開発時間を短縮することができます。
たとえば、2006年に登場したTwitterの開発当初、Ruby on Railsが使われていましたが、その後開発者たちはその選択が大きな間違いだったと気づきます。なぜならTwitterユーザーが莫大に増え、ビッグデータを処理するにはRuby on Railsは適さないからです。
後に、開発者はバックエンドにJavaを用い、ビッグデータを楽に扱えるScalaに移行しています。
Scalaの特長とメリット
オブジェクト指向のプログラミング言語
Scalaは関数型プログラミング言語とオブジェクト指向プログラミング両方を扱う言語です。Scalaで使われるすべての変数と値は、デフォルトでオブジェクトとして保存されます。
拡張可能なプログラミング言語
Scalaは、ドメイン固有の言語の拡張機能やライブラリ、APIを必要とせず、複数の言語構成をサポートできます。
フレームワークを利用できる
フレームワークとは、よく利用する機能を簡単に実装できる、あらかじめプログラミングされた枠組みセットのようなものです。
ScalaはJavaとの互換性を保つために開発された言語あですが、Ruby系のScalatra、Rails系のSkinny Frameworks、Twitterで開発されているFinagleなどのフレームワークを利用することができます。
これらのフレームワークを利用することで、あらゆるサービスやツールの開発が爆速でできるようになります。
静的型つきプログラミング言語
静的型つき言語とは、変数、引数、返り値などの型があらかじめ実装済みのものです。そのため、エラーが発生しづらいといわれています。
Scalaのデメリット




メリットがいっぱいだけど、デメリットもあるのかな?





非常に魅力的な言語ですが、デメリットは「プログラミング初学者、未経験者にはちょっときびしい」と思います。
Scalaを扱うには、オブジェクト指向言語と関数型言語の両方を深く理解していることが条件。そのため、現在JavaやRubyエンジニアとして仕事をしている人が、ステップアップとして取り掛かるのに向いています。
オブジェクト指向や関数型言語を理解するには、それなりに学習時間もコストもかかるのと、未経験者がいきなりScalaを初めても、転職やフリーランスとして仕事を得るのはハードルが高いと思います。
Scalaの年収と実際の求人
Scalaの年収は全言語中2位!
求人検索エンジン「スタンバイ」(2018年調べ)順位 言語 中央値(万円) 最大年収 求人数 1 Go 600 1,600 2,202 2 Scala 600 1,300 1,489 3 Python 575.1 1,499 9,344 4 Kotlin 575 1,200 961 5 TypeScript 575 1,200 667 6 R 574.8 1,000 220 7 Ruby 550 1,200 11,676 8 Swift 550 1,200 3,353 9 Perl 525 1,200 4,509 10 C 525 1,000 9,347
PythonやRubyと比較すると求人数は劣るものの、年収はGoに次いで2位になっています。Javaの後継言語ともいわれているScaraは、今後もっとメジャー化していく予感。
でもスキル高めのエンジニアが扱う言語なので人材が少なく、高年収は今後も同じでしょう。
Scalaの実際の求人はどんなものがある?
フリーランス専門エージェントの「レバテックフリーランス」で、Scalaで求人を検索してみました。


Webサービス開発の案件が多くみられますが、今後はAIやビッグデータを扱う仕事が増えていくと思われます。
上の仕事だと最高95万円なので、経験者は十分狙える金額でしょう。要Java開発経験、というのが多いです。
Scalaが学べるスクール




Scalaが学べるスクールはあるんですか?





Scalaが学べるのは今のところ、テックアカデミーの「Scalaコース」だけですね。
TechAcademy Scalaコース
TechAcademy(テックアカデミー)は、e-Learning大賞を受賞したオンラインのプログラミングスクールです。
オンラインでありながら、Webカメラを利用してメンターとのマンツーマン指導や、すぐに回答がつくオンラインチャット質問サービスが特長です。
普段はTechAcademyのオンラインテキストで学習するので、PCとWifi環境さえあればどこでも学習ができます。社会人の人や、すでにエンジニアの人がインプットに利用するのに非常に向いています。
- Scala
- HTML5/CSS3
- SQL
- Play Framework
- Bootstrap
- Git/GitHub
コース名 | |
学習スタイル | オンライン |
習得スキル | Scara, HTML5/CSS3, SQL, PlayFramework Bootstrap, Git/GitHub |
学習期間 | 1ヵ月~6ヵ月(選択制) |
料金 | 139,000円〜398,000円 ※コース、受講期間による |
公式サイト | https://techacademy.jp/scala-bootcamp |





すでに何らかのプログラミング言語をマスターしている人は、ぜひScalaを学んでください!
特にJavaとの親和性が高いので、Javaエンジニアからの転向に向いています!
年収がグンとアップする可能性大なので、お早めに!