全國(guó)咨詢(xún)/投訴熱線(xiàn):400-618-4000

首頁(yè)技術(shù)文章正文

Scala是什么?Scala發(fā)展歷程簡(jiǎn)介

更新時(shí)間:2020-10-28 來(lái)源:黑馬程序員 瀏覽量:

       Scala是Scalable Language的簡(jiǎn)稱(chēng),它是一門(mé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)型以及行為由類(lèi)和特征來(lái)描述,類(lèi)抽象機(jī)制的擴(kuò)展通過(guò)兩種途徑實(shí)現(xiàn),一種是子類(lèi)繼承,另一種是混入機(jī)制,這兩種途徑都能夠避免多重繼承的問(wèn)題。

  Scala是函數(shù)式編程的

  Scala也是一種函數(shù)式語(yǔ)言,其函數(shù)可以作為值來(lái)使用。Scala提供了輕量級(jí)的語(yǔ)法用于定義匿名函數(shù),支持高階函數(shù),允許嵌套多層函數(shù),并支持柯里化。

  Scala是靜態(tài)類(lèi)型的

  Scala具備類(lèi)型系統(tǒng),通過(guò)編譯時(shí)檢查,保證代碼的安全性和一致性。類(lèi)型系統(tǒng)支持的特性包括泛型類(lèi)、注釋、類(lèi)型上下限約束、類(lèi)別和抽象類(lèi)型作為對(duì)象成員、復(fù)合類(lèi)型、引用自己時(shí)顯示指定類(lèi)型、視圖、多態(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類(lèi)庫(kù),也同樣可以從Java應(yīng)用程序中調(diào)用Scala的代碼。

猜你喜歡:

HBase分布式數(shù)據(jù)庫(kù)的特點(diǎn)是什么?HBase簡(jiǎn)介

學(xué)習(xí)大數(shù)據(jù)要做好哪些準(zhǔn)備?

反爬蟲(chóng)系統(tǒng)實(shí)戰(zhàn)教程【大數(shù)據(jù)培訓(xùn)】

分享到:
在線(xiàn)咨詢(xún) 我要報(bào)名
和我們?cè)诰€(xiàn)交談!