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