Scala概述

Scala是可擴(kuò)展語言的縮寫,是一種混合功能編程語言。 它由Martin Odersky創(chuàng)建。 Scala順利整合面向?qū)ο蠛秃瘮?shù)式語言的功能。 Scala被編譯后在Java虛擬機(jī)上運(yùn)行。 許多現(xiàn)有公司依靠Java進(jìn)行關(guān)鍵業(yè)務(wù)應(yīng)用轉(zhuǎn)向或正在轉(zhuǎn)向Scala,以提高其開發(fā)生產(chǎn)力,應(yīng)用程序可擴(kuò)展性和整體可靠性。

  • Scala是面向?qū)ο笳Z言
    Scala是一種純粹的面向?qū)ο笳Z言,每一個(gè)值都是一個(gè)對(duì)象。 對(duì)象的類型和行為由類和特征描述,這將在后面的章節(jié)中進(jìn)行說明。
    類通過子類化和基于靈活的基于混合組合機(jī)制進(jìn)行擴(kuò)展,作為多重繼承的干凈替代。
  • Scala是函數(shù)式編程語言
    Scala也是一種函數(shù)式語言,每個(gè)函數(shù)都是一個(gè)值,每個(gè)值都是一個(gè)對(duì)象,所以每個(gè)函數(shù)都是一個(gè)對(duì)象。
    Scala提供了一個(gè)輕量級(jí)的語法來定義匿名函數(shù),它支持高階函數(shù),它允許函數(shù)嵌套,并支持currying。
  • Scala是靜態(tài)類型的
    Scala與其他靜態(tài)類型語言(C,Pascal,Rust等)不同,它不提供冗余類型的信息。 在大多數(shù)情況下,您不需要指定類型,當(dāng)然減少了不必的重復(fù)。
  • Scala運(yùn)行在JVM上
    Scala代碼被編譯成由Java虛擬機(jī)(JVM)執(zhí)行的Java字節(jié)代碼,這意味著Scala和Java具有通用的運(yùn)行時(shí)平臺(tái)。因此,可以輕松地從Java遷移到Scala。
    Scala編譯器將Scala代碼編譯成Java字節(jié)代碼,然后可以通過scala命令執(zhí)行。scala命令類似于java命令,因?yàn)樗鼒?zhí)行編譯Scala代碼。
  • Scala可以執(zhí)行Java代碼
    Scala能夠使用Java SDK的所有類以及自定義Java類,或您最喜歡的Java開源項(xiàng)目。
  • Scala可以做并發(fā)和同步處理
    Scala允許您以有效的方式表達(dá)一般的編程模式。它減少了線路數(shù)量,并幫助程序員以類型安全的方式進(jìn)行編碼。它允許您以不變的方式編寫代碼,這使得應(yīng)用并發(fā)和并行性(Synchronize)變得容易。

Scala與Java

Scala具有與Java完全不同的一組功能,其中的一些如下

  • 所有類型都是對(duì)象
  • 類型推斷
  • 嵌套函數(shù)
  • 函數(shù)是對(duì)象
  • 域特定語言(DSL)支持
  • 性狀
  • 閉包
  • 并發(fā)支持靈感來自Erlang

Scala Web框架

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容