Scala - 概述



Scala(Scalable Language 的縮寫)是一種混合函數語言程式設計語言。它由 Martin Odersky 建立。Scala 平滑地集成了面向物件和函式式語言的功能。Scala 編譯後可在 Java 虛擬機器上執行。許多依賴 Java 進行業務關鍵應用程式的現有公司正在轉向 Scala 以提高其開發效率、應用程式可擴充套件性和整體可靠性。

這裡我們列舉了一些使 Scala 成為應用程式開發者首選的原因。

Scala 是面向物件的

Scala 是一種純粹的面嚮物件語言,因為每個值都是一個物件。物件型別和行為由類和特質描述,這些將在後續章節中解釋。

類透過子類化擴充套件,並且一個靈活的基於 mixin 的組合機制作為多重繼承的乾淨替代。

Scala 是函式式的

Scala 也是一種函式式語言,因為每個函式都是一個值,每個值都是一個物件,所以最終每個函式都是一個物件。

Scala 提供了輕量級的語法來定義匿名函式,它支援高階函式,允許函式巢狀,並支援柯里化。這些概念將在後續章節中解釋。

Scala 是靜態型別的

與其他一些靜態型別語言(C、Pascal、Rust 等)不同,Scala 不需要您提供冗餘的型別資訊。在大多數情況下,您不必指定型別,當然也不必重複。

Scala 執行在 JVM 上

Scala 編譯成 Java 位元組碼,由 Java 虛擬機器 (JVM) 執行。這意味著 Scala 和 Java 具有共同的執行時平臺。您可以輕鬆地從 Java 切換到 Scala。

Scala 編譯器將您的 Scala 程式碼編譯成 Java 位元組碼,然後可以透過 'scala' 命令執行。'scala' 命令類似於 java 命令,它執行您編譯後的 Scala 程式碼。

Scala 可以執行 Java 程式碼

Scala 使您可以使用所有 Java SDK 類以及您自己的自定義 Java 類或您喜歡的 Java 開源專案。

Scala 可以進行併發和同步處理

Scala 允許您以有效的方式表達一般的程式設計模式。它減少了程式碼行數,並幫助程式設計師以型別安全的方式編寫程式碼。它允許您以不可變的方式編寫程式碼,這使得應用併發和並行(同步)變得容易。

Scala vs Java

Scala 擁有一套與 Java 完全不同的特性。其中一些是:

  • 所有型別都是物件
  • 型別推斷
  • 巢狀函式
  • 函式是物件
  • 領域特定語言 (DSL) 支援
  • 特質
  • 閉包
  • 受 Erlang 啟發的併發支援

Scala Web 框架

Scala 廣泛應用於各個領域,尤其是在企業 Web 應用程式中。您可以檢視一些最流行的 Scala Web 框架:

廣告