2019年 人気のプログラミング言語ベスト20 第12位:Scala
Scalaとは 今回はプログラミング言語の利用率の指標となる「GitHubPullRequest」にて、2019年1月から3月の統計で第12位にエントリーされた、Scalaについてご紹介いたします。
https://magazine.techcareer.jp/programming/scala/6409/
今回はプログラミング言語の利用率の指標となる「GitHubPullRequest」にて、2019年1月から3月の統計で第12位にエントリーされた、Scalaについてご紹介いたします。
Scala は2003年に公開された、非常に野心的なプログラミング言語です。
昨今、俗にJVM言語などと言われる、“Java仮想マシン(JVM)上で動作するプログラミング言語”が注目を集めていますが、それらJVM言語の中でも、比較的歴史のあるプログラミング言語の一つです。
また、現在は開発が止まってしまっていますが、Scalaは “Microsoft .NET Framework”など“Java仮想マシン”以外のプラットフォーム上での動作もサポートしていました。
Scalaの特徴は、他のJVMプログラミング言語同様に、Javaの問題点の克服を目指すと同時に、JVM上で動作し、Javaとの高い互換性を維持している、という点が挙げられます。
特にScalaは、Javaよりも短くスマートなコードが記述できます。
なお、Scalaの欠点として、プログラミング初学者には学習難易度が高い、と言われがちです。
原因の一つは、Scalaの仕様が玄人志向で初心者には難しくなっています。
そもそもScalaの開発者はJavaの開発者の一人なのですが、ScalaはJavaよりも、ベテランプログラマー目線で作られたプログラミング言語です。
もっといえば、“できるプログラマーの使い勝手”を優先して作ったプログラミング言語です。
“誰でも簡単にプログラミングができるように仕様を作っているプログラミング言語”と比べて、プログラミング初学者にとって厳しい仕様なのは、ある意味、当然です。
そして、Scalaが難しいと指摘される原因の二つ目は、Scalaがオブジェクト指向言語と関数型言語の特徴を併せ持ったプログラミング言語である、という点が挙げられます。
オブジェクト指向というのはJavaなど他の主要プログラミング言語でも、よく見られる性質であり、多くのプログラマーにとって、なじみのある考え方です。
一方で、関数型というのは、Scalaが登場した当時、第一線で活躍していた主要プログラミング言語では、あまり見られない性質でした。
そのため、Scalaに対して、とっつきにくい、という印象を持ったエンジニアが多かったのは確かです。
ただし、近年、登場したモダンなプログラミング言語の多くが関数型言語としての特徴を持っており、「これからのプログラミングは関数型プログラミング」という論調すら一部から聞こえてくるようになっています。
そのため、以前より、Scalaは習得度が難しい、とは言われなくなったように思います(Rustという、Scalaよりも習得難易度が高いと言われるプログラミング言語が登場したことも理由にあるかもしれません)。
しかし、依然として、Scalaの習得難易度がScalaエンジニアが少数に留まっている原因になっている、と言われています。
さて、他のJVM言語に勝る、Scala最大の強みは大規模システムでの実績です。
比較的、歴史の長いJVM言語である分、他の言語よりも信頼性があると見なされているのか、FacebookやTwitter、日本でもニコニコ動画など、非常に影響力の大きいサービスでScalaが利用されていることが知られています。
このようにJVM言語の中でも、実装例の“質”では、群を抜いており、大手ITサービスの利用が呼び水になって、他の企業やサービスでもScalaが使われる好循環が起きているように思います。気になる続きは👇👇👇
他にも『techcareer magazine』では
エンジニアやクリエイターの人生やキャリアのお役立ち情報を配信中!