|
Java學(xué)習(xí)路線分享Java、Groovy、Scala的未來(lái) 1. 什么是GroovyGroovy 是用于Java虛擬機(jī)的一種敏捷的動(dòng)態(tài)語(yǔ)言,是一種成熟的面向?qū)ο缶幊陶Z(yǔ)言,既可以用于面向?qū)ο缶幊?,又可以用作純粹的腳本語(yǔ)言。使用該種語(yǔ)言不必編寫過(guò)多的代碼,同時(shí)又具有閉包和動(dòng)態(tài)語(yǔ)言中的其他特性。 Groovy的使用方式基本與使用 Java代碼的方式相同,該語(yǔ)言特別適合與Spring的動(dòng)態(tài)語(yǔ)言支持一起使用,設(shè)計(jì)時(shí)充分考慮了Java集成,這使 Groovy 與 Java 代碼的互操作很容易。 2. 什么是ScalaScala是一門多范式的編程語(yǔ)言,一種類似java的編程語(yǔ)言,設(shè)計(jì)初衷是實(shí)現(xiàn)可伸縮的語(yǔ)言、并集成面向?qū)ο缶幊毯秃瘮?shù)式編程的各種特性。該語(yǔ)言運(yùn)行于JVM之上,并具有優(yōu)雅、效率高、易融合等優(yōu)勢(shì)。隨著開(kāi)發(fā)者對(duì)Scala的興趣日增,以及越來(lái)越多的工具支持,無(wú)疑Scala語(yǔ)言將成為一款炙手可熱的工具; 3. 對(duì)java的沖擊Scala 和 Groovy 都是基于 JVM 的語(yǔ)言,相比 Java,它們的語(yǔ)法更加簡(jiǎn)明和表達(dá)能力更豐富。對(duì)于那些既想不脫離開(kāi) JVM 又想避免 Java 繁瑣語(yǔ)句的開(kāi)發(fā)人員來(lái)說(shuō),Scala 和 Groovy 都是不錯(cuò)的選擇。 正如上述所說(shuō),Groovy與Scala的諸多優(yōu)點(diǎn),使得業(yè)界專業(yè)人士的預(yù)測(cè)- Groovy\Scala終將取代java,那么,java未來(lái)該如何? 前段時(shí)間Groovy創(chuàng)始人James Strachan在其博客上發(fā)表了一篇文章,題目為《Scala將取代Java /javac?》,大致意思是,java的使用太過(guò)繁瑣、賦值,缺乏靈活性;例如基本類型,字符串/文字/緩沖器/集合類以及數(shù)組缺乏多態(tài)性,以至于處理任何數(shù)據(jù)結(jié)構(gòu)都需要冗長(zhǎng)的語(yǔ)法;而且,由于Bean屬性和對(duì)閉包支持的缺失,使得代碼里充滿了 try/catch/finally 這些語(yǔ)句(除非你使用框架和新的自定義API)。 4. 未來(lái)的發(fā)展趨勢(shì)雖然java有許多缺陷需要進(jìn)行改進(jìn),但是,java對(duì)于大型網(wǎng)站后端開(kāi)發(fā)領(lǐng)域,依然是王者。在我看來(lái),某種技術(shù)的興起,必然是廣大開(kāi)發(fā)用戶的福音,但是,并不是誰(shuí)會(huì)取代誰(shuí),Java也可以在 Groovy與scala的新特性的基礎(chǔ)上進(jìn)行借鑒與學(xué)習(xí)來(lái)縮小差異化。 例如,java語(yǔ)言中讓開(kāi)發(fā)者較為頭疼的數(shù)據(jù)類型的冗余化及缺乏靈活性問(wèn)題,要是能改進(jìn)為類似php,python,perl的 hash, list, array 等靈活的類型定義,就完美了, 就能大幅提高開(kāi)發(fā)效率;或者,可以引入一個(gè)第三方的"語(yǔ)言"來(lái)實(shí)現(xiàn),并保持原有java的強(qiáng)大特性。 伴隨jdk新特性的升級(jí), Java已經(jīng)擁有了很多動(dòng)態(tài)語(yǔ)言中的一些優(yōu)點(diǎn),如閉包等。未來(lái)JVM平臺(tái)的多語(yǔ)言應(yīng)用會(huì)是趨勢(shì),Java依然是老大哥地位。Java強(qiáng)類型的靜態(tài)編譯帶來(lái)的安全保障和模塊化分層的架構(gòu)依然是大型企業(yè)級(jí)應(yīng)用的首選。 |
|
|
來(lái)自: 好程序員IT > 《Java培訓(xùn)教程》