Scalaはスイスのマーティン・オーダスキー教授が設計したプログラミング言語で、2003年に登場しました。
マーティン教授はJavaの開発にも携わっていました。
そのため、Javaとの親和性が高く、Javaで作ったプログラムをScalaで使用することもできます。
Scalaでは、基本的にJavaでできることもできるので、幅広いWebアプリ開発が可能です。
JVM言語
ScalaはJVM言語です。
JVM言語とは、JVM上で動作する言語のことをいいます。
JVM言語としてScalaの他に、Java、Kotlinがあります。
Scalaのプログラムは、JVMがパソコンに読み取れる機械語へ変換してから実行されるので、どのプラットフォームでも動きます。
JVM言語は、それぞれに相互運用性があることも特徴です。
相互運用性があるので、例えばScalaから、Javaで作られたコードを呼び出すことができます。
オブジェクト指向言語/関数型言語
Scalaは、オブジェクト指向言語、関数型言語です。
オブジェクト指向言語とは、「データと処理」を1セットとしてプログラムを組み立てていく開発手法に適した言語のことです。
オブジェクト指向プログラミングは不具合の直しやすさ、機能の追加しやすさに特徴があります。
関数型言語とは、関数と関数を組み合わせてプログラムを組み立てていく開発手法に適した言語です。
関数型プログラミングは、プログラムのわかりやすさに特徴があります。
つまり、Scalaではオブジェクト指向プログラミングに加えて、関数型プログラミングもできます。
Scalaを使いこなすことができれば、柔軟にプログラミングすることが可能です。
難易度高め
Scalaは、Javaを発展させたような言語なので、難易度は比較的高めです。
難易度の高いプログラミング言語ですが、使いこなせるようになると、JavaやC#などより、柔軟にかつ簡潔にプログラミングできるようになるのが魅力です。
とはいえ、プログラミング初学者の場合は、まずはPythonやPHPのような、比較的難易度の低い言語から学習することがおすすめです。
C#、Java、Kotlin、JVMについては別で解説します。
ぜひご参考ください。