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ò)展性和整體可靠性。
在這里,我們提出了一些要點(diǎn),說明為什么Scala成為應(yīng)用程序開發(fā)人員的首選。
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,這些概念將在后續(xù)章節(jié)中進(jìn)行說明。
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在所有地方都被使用,重要的是在企業(yè)Web應(yīng)用程序中使用。下面列出一些最受歡迎的Scala Web框架 -