Scala-概要

ScalaはScalableLanguageの略で、ハイブリッド関数型プログラミング言語です。マーティン・オーダスキーによって作成されました。Scalaは、オブジェクト指向言語と関数型言語の機能をスムーズに統合します。Scalaは、Java仮想マシンで実行するようにコンパイルされています。ビジネスクリティカルなアプリケーションをJavaに依存している多くの既存の企業は、開発の生産性、アプリケーションのスケーラビリティ、および全体的な信頼性を高めるためにScalaに目を向けています。

ここでは、Scalaをアプリケーション開発者の最初の選択肢にするいくつかのポイントを紹介しました。

Scalaはオブジェクト指向です

Scalaは、すべての値がオブジェクトであるという意味で、純粋なオブジェクト指向言語です。オブジェクトのタイプと動作は、後続の章で説明するクラスと特性によって説明されます。

クラスはによって拡張されます subclassing と柔軟 mixin-based composition 多重継承のクリーンな代替としてのメカニズム。

Scalaは機能的です

Scalaは、すべての関数が値であり、すべての値がオブジェクトであるという意味で関数型言語でもあるため、最終的にはすべての関数がオブジェクトになります。

Scalaは、定義するための軽量構文を提供します anonymous functions、サポートします higher-order functions、それは関数がすることを可能にします nested、およびサポート currying。これらの概念については、以降の章で説明します。

Scalaは静的に型付けされています

Scalaは、他の静的に型付けされた言語(C、Pascal、Rustなど)のいくつかとは異なり、冗長な型情報を提供することを期待していません。ほとんどの場合、タイプを指定する必要はありません。また、それを繰り返す必要もありません。

ScalaはJVMで実行されます

Scalaは、Java仮想マシン(JVM)によって実行されるJavaバイトコードにコンパイルされます。これは、ScalaとJavaが共通のランタイムプラットフォームを持っていることを意味します。JavaからScalaに簡単に移行できます。

Scalaコンパイラーは、ScalaコードをJavaバイトコードにコンパイルします。Javaバイトコードは、 'によって実行できます。scala'コマンド。'scala'コマンドはに似ています java コンパイルされたScalaコードを実行するという点でコマンド。

ScalaはJavaコードを実行できます

Scalaを使用すると、Java SDKのすべてのクラスと、独自のカスタムJavaクラス、またはお気に入りのJavaオープンソースプロジェクトを使用できます。

Scalaは並行処理と同期処理を実行できます

Scalaを使用すると、一般的なプログラミングパターンを効果的に表現できます。行数を減らし、プログラマーがタイプセーフな方法でコーディングするのに役立ちます。これにより、不変の方法でコードを記述できるため、並行性と並列性(同期)を簡単に適用できます。

ScalaとJava

Scalaには、Javaとは完全に異なる一連の機能があります。これらのいくつかは-

  • すべてのタイプはオブジェクトです
  • 型推論
  • 入れ子関数
  • 関数はオブジェクトです
  • ドメイン固有言語(DSL)のサポート
  • Traits
  • Closures
  • Erlangに触発された並行性のサポート

ScalaWebフレームワーク

Scalaはどこでも、そして重要なことにエンタープライズWebアプリケーションで使用されています。最も人気のあるScalaWebフレームワークのいくつかを確認できます-

  • リフトフレームワーク

  • Playフレームワーク

  • ボウラーフレームワーク