今がチャンス!
Javaと相性が抜群に良い!
ScalaとJavaは似て非なるプログラミング言語
近年頻繁にその名前を耳にする機会が急増している「Scala」は、Javaと似ている部分があるため同じように考えられることがあります。ScalaはJavaとの相互性がとても良く、一緒に使用されることが多いことから何かと混同されがちですが、ScalaとJavaは全く別です。では、相互性の高いこの2つの言語の間でどのようなことができるのでしょうか。3つの点についてご紹介します。
ScalaとJavaは連携ができる
まず1つ目として、ScalaとJavaの連携という点があります。ScalaはJavaの仮想マシン上で動きますが、もともとjava.langパッケージのクラスがインポートされている状態がデフォルトなので、Javaのコードと簡単に連携をすることができます。また、クラスの継承はextendsキーワードを使えば簡単に行うことができます。
2つ目は、ScalaからJavaへの移行が簡単という点です。もちろんJavaからScalaへの移行も同様に簡単に行うことができます。
3つ目は、ScalaとJavaそれぞれのコレクションを変換することができるという点です。双方の言語には、共通点がたくさんあるコレクションライブラリがありますが、Scalaにはコレクションを変換することができるというJavaとは違う特徴もあります。変換する方法はとても簡単で、JavaConversionsオブジェクトからのインポートを行うだけでコレクションの自動変換を行うことができるようになります。変換にあたっては、双方のコレクションがコピーされることはありません。基本的にほとんどのScalaコレクションをJavaに変換することができますが、JavaからScalaに変換できないものも一部あります。
これら3つの点から共通して言えるのは、ScalaとJavaの相性がとても良いということです。そのため、既にJavaについての知識がある人であれば、Scalaを理解することはそれほど難しいことではないでしょう。
今Scalaがおすすめな理由
プログラマであればJavaを使ったシステム開発に携わったことのある人は多いかもしれませんが、Javaとの相性が良いScalaを新たに開発現場に取り入れる流れも出てきており、習得の必要性が高まっているプログラマも少なくありません。また、Scalaのスキルを持ったエンジニアはまだ希少なので、習得していると転職などにも有利です。Scalaのコードはとてもシンプルで、Javaであれば20行のところが1行で済むほど短縮できるので生産性は大幅にアップします。システム開発で多く使用されるJavaとの相性が良いということもあって、Scalaは今後ますます需要が増えることが予想されています。