Scala-overview

提供:Dev Guides
移動先:案内検索

Scala-概要

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

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

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

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

クラスは、複数の継承を完全に置き換える subclassing と柔軟な* mixinベースの構成*メカニズムによって拡張されます。

Scalaは機能的です

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

Scalaは、*匿名関数*を定義するための軽量な構文を提供し、*高階関数*をサポートし、関数を*入れ子*にし、*カリー*をサポートします。 これらの概念については、以降の章で説明します。

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

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

ScalaはJVMで実行されます

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

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

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

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

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

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

Scala対Java

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

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

Scala Webフレームワーク

Scalaはあらゆる場所で使用されており、重要なのはエンタープライズWebアプリケーションです。 最も人気のあるScala Webフレームワークのいくつかを確認できます-