很多朋友對(duì)于scala是什么語言和什么語言不能在mapreduce上編程不太懂,今天就由小編來為大家分享,希望可以幫助到大家,下面一起來看看吧!
spark是什么語言編寫的
spark是Scala語言編寫的。
Spark使用Scala語言進(jìn)行實(shí)現(xiàn),它是一種面向?qū)ο蟆⒑瘮?shù)式編程語言,能夠像操作本地集合對(duì)象一樣輕松地操作分布式數(shù)據(jù)集,在Spark官網(wǎng)上介紹,它具有運(yùn)行速度快、易用性好、通用性強(qiáng)和隨處運(yùn)行等特點(diǎn)。
棄用scala的原因
向后兼容。這也是Scala多年前失敗的地方。每一個(gè)新的語言版本都會(huì)破壞舊的lib,而這些lib需要由維護(hù)者來修復(fù),以適應(yīng)新的版本。正如其他人提到的生態(tài)系統(tǒng)。SpringBoot和其他開源軟件。偉大的工具,如IntellijIDEA。很多人都在使用它,所以有很多指南和stackoverflow答案等。
scala為什么火不起來
scala火不起來的原因主要有兩個(gè)。
第一個(gè)原因,我們?cè)缫堰M(jìn)入了移動(dòng)互聯(lián)網(wǎng)時(shí)代。這個(gè)時(shí)代里,大家訪問互聯(lián)網(wǎng)的入口,早已從以前的臺(tái)式機(jī)瀏覽器平臺(tái),轉(zhuǎn)移到了如今的以智能手機(jī)和平板電腦為代表的移動(dòng)設(shè)備上。Scala不能用來開發(fā)移動(dòng)應(yīng)用,所以它的光芒被Swift等移動(dòng)原生應(yīng)用的開發(fā)語言掩蓋,是一件很正常的事情。
第二個(gè)原因,Scala在大數(shù)據(jù)領(lǐng)域的優(yōu)勢(shì),最近也在被另一門異軍突起的go語言逐漸蠶食可以說scala生不逢時(shí)遇上了go語言,有點(diǎn)既生瑜何生亮的感覺。Scala的生態(tài)圈也遠(yuǎn)遠(yuǎn)不如go語言。
為什么說Scala是JVM上的C++
可能是我孤陋寡聞,我并不覺得scala是JVM上的c++,說一下我的片面理解
1.scala的確運(yùn)行在jvm之上,但是它的性能也就是一般,或者說比較優(yōu)秀,與性能大魔王c或者c++來說還有很多差距,并且scala和c++的使用方向完全不一樣
2.從語法使用的角度來說,我覺得可以說scala是運(yùn)行在jvm上的python,兩者相似簡(jiǎn)約的編程風(fēng)格,對(duì)并且在推薦編程領(lǐng)域,兩者都有其領(lǐng)先的地位,一個(gè)擁有完整的機(jī)器學(xué)習(xí)庫,一個(gè)掌握著spark的ML,所以從這個(gè)角度來說scala是jvm上的python我覺得可行
3.從語言的排名上說,c++經(jīng)久不衰的生命力,scala由于java恐怖的統(tǒng)治力,目前并不占據(jù)優(yōu)勢(shì),kotlin也在慢慢崛起,所以未來優(yōu)勢(shì)并不大,目前也看不到scala其他的發(fā)力點(diǎn)
如果非要修改這句話,我覺得可以這么說
Golang是具有垃圾自動(dòng)回收的c++[呲牙]
scala3.0特性
優(yōu)雅:這是框架設(shè)計(jì)師第一個(gè)要考慮的問題,框架的用戶是應(yīng)用開發(fā)程序員,API是否優(yōu)雅直接影響用戶體驗(yàn)。
速度快:Scala語言表達(dá)能力強(qiáng),一行代碼抵得上Java多行,開發(fā)速度快;Scala是靜態(tài)編譯的,所以和JRuby,Groovy比起來速度會(huì)快很多。
能融合到Hadoop生態(tài)圈:Hadoop現(xiàn)在是大數(shù)據(jù)事實(shí)標(biāo)準(zhǔn),Spark并不是要取代Hadoop,而是要完善Hadoop生態(tài)。JVM語言大部分可能會(huì)想到Java,但Java做出來的API太丑,或者想實(shí)現(xiàn)一個(gè)優(yōu)雅的API太費(fèi)勁。
文章到此結(jié)束,如果本次分享的scala是什么語言和什么語言不能在mapreduce上編程的問題解決了您的問題,那么我們由衷的感到高興!