新しい技術動向には、常に新しいプログラミング言語に注目するサイクルが含まれています。もう少し注目を集めようとしている言語の1つがScalaです。まだ普及していませんが、Scalaは、Rubyの親しみやすい構文とJavaの強力なエンタープライズサポートの間に幸せな媒体を提供することによって、ある程度の地位を得ているようです。 Scalaがもう一度価値がある理由はいくつかあります。
Java仮想マシン上で動作する
エンタープライズ向けのプログラミングの現実は、Javaが一般的な事実上の言語であることです。さらに、多くの大企業は、プログラミングスタック全体のオーバーホールに関してリスク回避を行うことになります。 ScalaはまだJVM上で動作するので、ここで快適な中間地を提供するかもしれません。これにより、Scalaは、ビジネスのために既に用意されている多くの操作ツールと監視要素をうまく使いながら、移行をはるかに危険な命題にすることができます。
Scalaはまた、それ自体と既存のJavaコードとの相互運用性の可能性がはるかに高い。多くの人がこれをシームレスにすると主張していますが、現実はもう少し複雑です。これらの問題にもかかわらず、Scalaは他の多くの言語よりもJavaでもっとうまくいくと言えるでしょう。
ScalaによるJVMの使用は、マイグレーションにおいて人々が感じる可能性のあるパフォーマンスの不安を和らげるのにも役立ちます。それは一般的に同等のJavaプログラムと同程度に実行されるため、一般的に、エンタープライズソフトウェアはScalaへの切り替えによって襲われるべきではありません。
ScalaはほとんどのJVMライブラリを使用することができ、エンタープライズコードに深く組み込まれることがよくあります。このようにして、Scalaは現在のJavaに浸透したビジネスの良いヘッジになります。
より簡潔で読みやすいJavaより
Scalaは、Rubyのような一般的な言語のシンプルで読みやすい構文機能の多くを共有しています。これは、Javaに乏しい機能であり、コードメンテナンスの開発チームの作業負荷に影響を与えません。既存のJavaコードを理解して維持するために必要な追加作業は、大きな費用です。
さらに、Scalaの簡潔さには多くの利点があります。 Scalaは、Javaで同等の関数を書くために必要な行数のほんの一部で書くことができます。これにより、開発者は特定の勤務時間内により機能的な作業を行うことができるという生産性のメリットがあります。テスト、コードレビュー、およびデバッグが簡単になるようにするコードの数を減らすことができます。
機能の特徴
Scalaは、開発者に人気のある機能的な構文的な砂糖を使い、多くの開発者がScalaをより機能的な言語として特徴付けています。 1つの例は、簡単な文字列の比較を可能にするパターンマッチングです。もう1つの例は、関数をクラス定義の一部として組み込むことを可能にするmixinsです。これは、コードを再利用することによって多くの時間を節約できます。このような機能は、開発者にとって魅力的です。特に、Java以外の環境での使用に慣れてきた場合は特にそうです。
簡単に学び、「エキサイティング」
Rubyのような現在普及している言語に対するScalaの類似性は、アクセシブルな構文では、特にJavaやC ++のようなより複雑な言語と比較して、学習が比較的容易であるため、利点と見ることができます。言語の新規性とアクセシビリティにより、小さくて活気に満ちた開発者グループが人気を得ています。
この「興奮」は過小評価されるべきではなく、スカラへの移行の最大の利点かもしれません。 Javaの信頼性と時代によって、企業にとっては一般的な選択となりますが、開発者は特定のリスク回避型の考え方を引き付けることになります。 Scalaのような言語は、「言語愛好家」である熱心な開発者を引き付けることがあります。これらの開発者は柔軟性があり、革新的で高度に熟練した新しいものを試してみることが多いです。多くの組織にとって、これは技術チームで必要とされるものである可能性があります。
Scalaが人気の急上昇を見せるかどうかは、どの言語でもその伝道者と嫌悪者がいるように、見られることに変わりはありません。現実には、Scalaに移行するという決定は個々のものであり、環境に大きく依存しています。