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

什么是Scala?有什么特點?

更新時間:2020-12-22 來源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif

Scala于2001年由瑞士洛桑聯(lián)邦理工學(xué)院(EPFL)編程方法實驗室研發(fā),它由Martin Odersky(馬丁·奧德斯基)創(chuàng)建。目前,許多公司依靠Java進(jìn)行的關(guān)鍵性業(yè)務(wù)應(yīng)用已轉(zhuǎn)向或正在轉(zhuǎn)向Scala,以提高應(yīng)用程序的可擴(kuò)展性和整體的可靠性,從而提高開發(fā)效率。

Scala是Scalable Language的簡稱,它是一門多范式的編程語言,其設(shè)計初衷是實現(xiàn)種可擴(kuò)展的語言,并集成面向?qū)ο缶幊毯秃瘮?shù)式編程的各種特性?;谶@個目標(biāo)與設(shè)計,Scala具有以下顯著的特性。

(1) Scala是面向?qū)ο蟮恼Z言。

Scala是一種純粹的面向?qū)ο笳Z言,每一個值都是對象。對象的數(shù)據(jù)類型以及行為由類和特征來描述,類抽象機(jī)制的擴(kuò)展通過兩種途徑實現(xiàn):一種是子類繼承,另一種是混入機(jī)制,這兩種途徑都能夠避免多重繼承的問題。

(2) Scala是函數(shù)式編程的語言。

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

(3) Scala是靜態(tài)類型的。

Scala具備類型系統(tǒng),通過編譯時的類型檢查來保證代碼的安全性和一致性。類型系統(tǒng)支持的特性包括泛型類、注釋、類型上下限約束、類別和抽象類型作為對象成員、復(fù)合類型、引用自己時顯示指定類型、視圖、多態(tài)方法等。

(4) Scala是可擴(kuò)展的。

在實際開發(fā)中,某個特定領(lǐng)域的應(yīng)用程序開發(fā)往往需要特定領(lǐng)域的語言擴(kuò)展。Scala提供了許多獨特的語言機(jī)制,它能夠很容易地以庫的方式無縫添加新的語言結(jié)構(gòu)。

(5) Scala是可以交互操作的。

Scala可以與流行的Java Runtime Environment(JRE)進(jìn)行良好的交互操作。Scala用scalac編譯器把源文件編譯成Java的class文件(即可以在JVM上運行的字節(jié)碼)。我們可以從Scala中調(diào)用所有的Java類庫,同樣也可以從Java應(yīng)用程序中調(diào)用Scala代碼。

Scala的下載安裝

Scala語言可以在Windows、Linux、Mac OS等系統(tǒng)上編譯運行。由于Scala是運JVM平臺上的,所以安裝Scala之前必須配置好JDK環(huán)境(JDK版本要求不低于1.5)。關(guān)于JDK的安裝和配置可以參考:JDK下載安裝與環(huán)境變量配置圖文教程【超詳細(xì)】

在windows下安裝Scala

訪問Scala官網(wǎng)https://www.scala-lang.org/,單擊【DOWNLOAD】按鈕進(jìn)入下載頁面,在該頁面可以下載最新版本的Scala。考慮到Scala的穩(wěn)定性以及和Spark的兼容性,這里選擇下載scala-2.13.4.msi(下載地址為https://www.scala-lang.org/download/),具體如圖1-1所示。

Scala下載


下載成功后,運行scala-2.13.4.msi,并配置Windows系統(tǒng)的環(huán)境變量,效果如圖1-2和圖1-3所示。

Scala安裝
安裝scala


Scala安裝完成
Scala安裝完成

Scala系統(tǒng)環(huán)境變量配置
圖1-2 Scala系統(tǒng)環(huán)境變量配置

Scala系統(tǒng)環(huán)境變量配置
圖1-3 將Scala系統(tǒng)變量引入到環(huán)境中

測試Scala環(huán)境是否安裝成功。進(jìn)入Windows的命今行,輸入scala命令,按Enter鍵,效果如圖1-4所示。

scala檢測安裝成功
圖1-4  測試Scala環(huán)境的安裝

從圖1-4可以看出,控制臺輸出了Scala的版本號2.13.4,證明Scala環(huán)境已經(jīng)安裝成功。


猜你喜歡:

Scala的控制結(jié)構(gòu)語句有哪幾種?各語法格式介紹

Scala在使用聲明值和變量時的注意事項有哪些?

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

黑馬程序員大數(shù)據(jù)培訓(xùn)課程

分享到:
在線咨詢 我要報名
和我們在線交談!