Scala語(yǔ)言學(xué)習(xí)之環(huán)境安裝(1)-創(chuàng)新互聯(lián)

==> Scala語(yǔ)言簡(jiǎn)介

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的萊州網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

        --> Scala編程語(yǔ)言抓住了很多開(kāi)發(fā)者的眼球。如果你粗略瀏覽Scala的網(wǎng)站,你會(huì)覺(jué)得Scala是一種純粹的面向?qū)ο缶幊陶Z(yǔ)言,而又無(wú)縫地結(jié)合了命令式編程和函數(shù)式編程風(fēng)格


        --> 不太久之前編程語(yǔ)言還可以毫無(wú)疑意地歸類成“命令式”或者“函數(shù)式”或者“面向?qū)ο蟆?。Scala代表了一個(gè)新的語(yǔ)言品種,它抹平了這些人為劃分的界限。

==> Scala有幾項(xiàng)關(guān)鍵特性表明了它的面向?qū)ο蟮谋举|(zhì)

        --> Scala中的每個(gè)值都是一個(gè)對(duì)象,包括基本數(shù)據(jù)類型(即布爾值、數(shù)字等)在內(nèi),連函數(shù)也是對(duì)象。

       --> 類可以被子類化,而且Scala還提供了基于mixin的組合(mixin-based composition)

       --> 與只支持單繼承的語(yǔ)言相比,Scala具有更廣泛意義上的類重用。Scala允許定義新類的時(shí)候重用“一個(gè)類中新增的成員定義(即相較于其父類的差異之處)”。Scala稱之為mixin類組合。

       --> Scala還包含了若干函數(shù)式語(yǔ)言的關(guān)鍵概念,包括高階函數(shù)(Higher-Order Function)、局部套用(Currying)、嵌套函數(shù)(Nested Function)、序列解讀(Sequence Comprehensions)等等。

       --> Scala是靜態(tài)類型的,這就允許它提供泛型類、內(nèi)部類、甚至多態(tài)方法(Polymorphic Method)。另外值得一提的是,Scala被特意設(shè)計(jì)成能夠與Java和.NET互操作。Scala當(dāng)前版本還不能在.NET上運(yùn)行(雖然上一版可以-_-b),但按照計(jì)劃將來(lái)可以在.NET上運(yùn)行。

       --> Scala可以與Java互操作。它用scalac這個(gè)編譯器把源文件編譯成Java的class文件(即在JVM上運(yùn)行的字節(jié)碼)。你可以從Scala中調(diào)用所有的Java類庫(kù),也同樣可以從Java應(yīng)用程序中調(diào)用Scala的代碼。

==> 為什么我要使用Scala?

        --> Scala的設(shè)計(jì)始終貫穿著一個(gè)理念:創(chuàng)造一種更好地支持組件的語(yǔ)言。(《The Scala Programming Language》,Donna Malayeri)也就是說(shuō)軟件應(yīng)該由可重用的部件構(gòu)造而成。Scala旨在提供一種編程語(yǔ)言,能夠統(tǒng)一和一般化分別來(lái)自面向?qū)ο蠛秃瘮?shù)式兩種不同風(fēng)格的關(guān)鍵概念

==> Scala得以提供一些出眾的特性

       --> 面向?qū)ο箫L(fēng)格

       --> 函數(shù)式風(fēng)格

       --> 更高層的并發(fā)模型

       --> Scala把Erlang風(fēng)格的基于actor的并發(fā)帶進(jìn)了JVM。開(kāi)發(fā)者可以利用Scala的actor模型在JVM上設(shè)計(jì)具伸縮性的并發(fā)應(yīng)用程序,它會(huì)自動(dòng)獲得多核心處理器帶來(lái)的優(yōu)勢(shì),而不必依照復(fù)雜的Java線程模型來(lái)編寫程序。

       --> 輕量級(jí)的函數(shù)語(yǔ)法

       --> 高階

       --> 嵌套

       --> 局部套用(Currying)

       --> 匿名

       --> 與XML集成

       --> 可在Scala程序中直接書(shū)寫XML

       --> 可將XML轉(zhuǎn)換成Scala類

       --> 與Java無(wú)縫地互操作

==> Scala 是一種多范式的編程語(yǔ)言,設(shè)計(jì)意圖是要集成面向?qū)ο缶幊毯秃瘮?shù)式編程的各種特性

==> 技巧

        -->

       --> 不要陷入C++一樣的、不斷膨脹的問(wèn)題里,留下太多的選擇,且沒(méi)有清晰的最佳實(shí)踐。這導(dǎo)致每個(gè)人都在選擇不同的子集。要提供適應(yīng)的指導(dǎo)。

       --> 記住,反對(duì)不良的設(shè)計(jì)功能與增加新功能同等重要——這很殘酷。

       --> 考慮拆分語(yǔ)言為產(chǎn)生環(huán)境創(chuàng)建可行的標(biāo)準(zhǔn)。為學(xué)術(shù)世界節(jié)省成本是一個(gè)明智的選擇。迎合企業(yè)的需要,獲得更大的采用。

       --> 庫(kù)的編寫者應(yīng)該看看Java API,確認(rèn)是否應(yīng)該有功能調(diào)用或結(jié)構(gòu)化功能,為了更好的閱讀。不要為了流動(dòng)性在跳躍太大來(lái)與Ruby競(jìng)爭(zhēng)。

       --> 最后,當(dāng)人們提出的建設(shè)性的批評(píng)時(shí),不要感到失望。如果同樣的報(bào)怨不斷出現(xiàn),那就說(shuō)明應(yīng)該重視一下。

==> 環(huán)境部署

        --> 由于 Scala 是基于 JVM 運(yùn)行的,所以需要配置 JAVA環(huán)境,這里不在復(fù)述

       --> 安裝Scala:下載 http://www.scala-lang.org/download/

               注意:版本跟Spark的Scala版本一致

                    scala-2.11.8.zip

       --> Scala的運(yùn)行環(huán)境(開(kāi)發(fā)工具)

       --> 命令行:REPL

                ---進(jìn)入: scala

              ---退出::quit

              ---(*) paste 模式: 相當(dāng)于vi編輯器

              ---進(jìn)入: :paste

              ---退出: ctrl+D

       --> IDEA

              ---默認(rèn):沒(méi)有Scala的環(huán)境

              ---需要安裝插件:SBT(需要聯(lián)網(wǎng),有點(diǎn)慢)

(3)Scala IDE:基于Eclipse

       --> 參考此鏈接:http://blog.csdn.net/yuanguangyu1221/article/details/50889522

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站題目:Scala語(yǔ)言學(xué)習(xí)之環(huán)境安裝(1)-創(chuàng)新互聯(lián)
分享路徑:http://muchs.cn/article46/cspghg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)響應(yīng)式網(wǎng)站、建站公司、外貿(mào)網(wǎng)站建設(shè)、軟件開(kāi)發(fā)、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)