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