欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

Java、Groovy、Scala的未來會(huì)怎樣?

Scala有兩個(gè)流派:FP和BetterJava。FP派喜歡scalaz,喜歡shapeless,喜歡typelevelprogramming。這一派特點(diǎn)是程序高度抽象但可讀性奇差。適合PL研究者驗(yàn)證概念,適合業(yè)余項(xiàng)目自嗨,也適合學(xué)習(xí)PL概念。不適合多人協(xié)作的工程項(xiàng)目。BetterJava派以前之所以存在,單純是因?yàn)镴ava語法設(shè)計(jì)太爛,爛到無法忍受。而JVM上當(dāng)時(shí)也沒有其它更好的選擇。那些告訴你“寫了n年Java以后,我切換到Scala,現(xiàn)在每天都活在幸福中”的人,基本都是這一派。但ScalaasabetterJava的工程性也不好,因?yàn)樘匦蕴嗵珡?fù)雜,除非有高手帶隊(duì),否則很難只用到它“betterjava”的那個(gè)子集。解決一個(gè)問題的同時(shí),往往引入更多的問題。所以會(huì)有Java8發(fā)布以后Linkedin所有新項(xiàng)目全部回歸Java這種事情。

Groovy是動(dòng)態(tài)語言,工程性比Scala還差。但是因?yàn)橛蠫radle這種被廣泛采用的項(xiàng)目,所以會(huì)存活下去。但是請(qǐng)記住愛因斯坦曾經(jīng)說過:“任何超過兩百行的新項(xiàng)目,都不應(yīng)該采用動(dòng)態(tài)語言開發(fā),無論是Ruby,Python,Perl,Groovy還是Clojure”。哦,對(duì)了,也不要用Clojure。因?yàn)樗莿?dòng)態(tài)語言,而且是Lisp系的動(dòng)態(tài)語言。“Lisp系”意味著,讀書的時(shí)候可以靠它開眼界。畢業(yè)工作以后,對(duì)于這一類語言,能躲多遠(yuǎn)就躲多遠(yuǎn)。

Kotlin看上去靠譜。它不講究FP有多純,目標(biāo)就一個(gè):“abetterjava”。Kotlin在“到底引入多少FP特性”上面做得恰到好處。看到Kotlin,我馬上就想起了這個(gè)演講:“Pleasestoppollutingourimperativelanguageswithpureconcepts”。

Kotlin有以下好處:

1.強(qiáng)大的IDE。而且是JetBrains第一方支持,不是3年更新一次的第三方插件;

2.庫多生態(tài)強(qiáng)。Kotlin的設(shè)計(jì)者非常重視和Java的互操作,所以Kotlin號(hào)稱可以無縫銜接所有Java庫。

3.宇宙第一運(yùn)行時(shí):JVM。4.Android上不能用Java8的新語法,Kotlin恰逢其時(shí)的出現(xiàn),抓了一波完美的timing。

如果Kotlin依靠Android開發(fā)爆發(fā),那服務(wù)器端,大數(shù)據(jù)界,也會(huì)收益,最后多面開花,勢(shì)不可擋。但是Kotlin剛出來,到底有沒有它自稱的那么好用還待觀察。另外,Kotlin社區(qū)現(xiàn)在集中力量攻堅(jiān)Android,在服務(wù)器和大數(shù)據(jù)方向沒什么靠譜項(xiàng)目。所以還是得用Java8。總之,“魔鏡啊魔鏡,誰是JVM上最好的語言”之最后決戰(zhàn),將是Java10vsKotlin(Java9在語法特性上已經(jīng)輸了)。