更新時間:2020-10-28 來源:黑馬程序員 瀏覽量:
Scala是Scalable Language的簡稱,它是一門多范式的編程語言,其設(shè)計初衷是實現(xiàn)可伸縮的語言、并集成面向?qū)ο缶幊毯秃瘮?shù)式編程的各種特性。
Scala于2001年由洛桑聯(lián)邦理工學(xué)院(EPFL)的編程方法實驗室研發(fā),它由Martin Odersky(馬丁·奧德斯基)創(chuàng)建。目前,許多公司依靠Java進行的關(guān)鍵性業(yè)務(wù)應(yīng)用轉(zhuǎn)向或正在轉(zhuǎn)向Scala,以提高其開發(fā)效率、應(yīng)用程序的可擴展性和整體的可靠性。借著這個目標與設(shè)計,Scala得以提供一些顯著的特性,具體如下。
Scala是面向?qū)ο蟮?/p>
Scala是一種純粹的面向?qū)ο笳Z言,每一個值都是對象。對象的數(shù)據(jù)類型以及行為由類和特征來描述,類抽象機制的擴展通過兩種途徑實現(xiàn),一種是子類繼承,另一種是混入機制,這兩種途徑都能夠避免多重繼承的問題。
Scala是函數(shù)式編程的
Scala也是一種函數(shù)式語言,其函數(shù)可以作為值來使用。Scala提供了輕量級的語法用于定義匿名函數(shù),支持高階函數(shù),允許嵌套多層函數(shù),并支持柯里化。
Scala是靜態(tài)類型的
Scala具備類型系統(tǒng),通過編譯時檢查,保證代碼的安全性和一致性。類型系統(tǒng)支持的特性包括泛型類、注釋、類型上下限約束、類別和抽象類型作為對象成員、復(fù)合類型、引用自己時顯示指定類型、視圖、多態(tài)方法。
Scala是可擴展的
在實際開發(fā)中,某個特定領(lǐng)域的應(yīng)用程序開發(fā)往往需要特定領(lǐng)域的語言擴展。Scala提供了許多獨特的語言機制,它以庫的方式能夠輕易無縫添加新的語言結(jié)構(gòu)。
Scala是可以交互操作的
Scala旨在與流行的Java Runtime Environment(JRE)進行良好的交互操作。Scala用scalac編譯器把源文件編譯成Java的class文件(即在JVM上運行的字節(jié)碼)。我們可以從Scala中調(diào)用所有的Java類庫,也同樣可以從Java應(yīng)用程序中調(diào)用Scala的代碼。
猜你喜歡:
HBase分布式數(shù)據(jù)庫的特點是什么?HBase簡介