9個殺手級 JVM 編程語言

http://www.oschina.net/question/213217_45561

擬機上運行,這樣能夠讓更多的開發者能夠依靠JVM在Java平臺上大有作爲。而且虛擬機以及 對應的字節碼都是開源的,所以你也能很容易地生成對應字節碼來做一款屬於你自己的編程語言。我們今天來看看以下9種新的編程語言。


Groovy是一個被編譯成字節碼的面向對象的語言。它的語法風格與java很像,但是又沒java那麼混亂。Java程序員能夠很快的熟練使用 Groovy;實際上,Groovy編譯器是可以接受完全純粹的Java語法格式的,這樣能夠讓程序員在學習Groovy時不需要學習任何新語法。需要注 意使用Groovy的一個重要特點就是使用類型推斷,即能夠讓編譯器能夠在程序員沒有明確說明的時候推斷出變量的類型。同時Groovy也提供了一個高級 架構來解決字符串處理,xml的序列化與反序列化以及單元測試等等 -- 所有的這一切好處都能爲程序員節約不少時間。

JRuby是用來橋接Java與Ruby的,它是使用比Groovy更加簡短的語法來編寫代碼,能夠讓每行代碼執行更多的任務。就和Ruby一 樣,JRuby不僅僅只提供了高級的語法格式。它同樣提供了純粹的面向對象的實現,閉包等等,而且JRuby跟Ruby自身相比多了很多基於Java類庫 可以調用,雖然Ruby也有很多類庫,但是在數量以及廣泛性上是無法跟Java標準類庫相比的。

Jython,aka JPython,屬於第一種專門爲JVM專用的腳本語言。它能夠用Python語言來高效生成動態編譯的Java字節碼。一些可選的靜態編譯方式能夠被用 來開發applets,servlets,以及beans。作爲Jython的首席程序員,Jim Hugunin,現在已經停止了Jython的相關工作而去微軟幹活。所以這門語言的發展僅僅也就從2005-2008年,所以就現在看來Jython已 經無法與Groovy以及JRuby作爲對手了。現在Jython可以在一些商業應用中找到,也已經得到了WebSphere Application Server以及IMB的商業Java EE產品部門的官方支持。

Clojure是純粹的函數式編程語言。與Scala類似,Clojure已經有很多內置的並行運行基礎建設能夠讓很多方法同時執行。Clojure也是 被設計爲生成通用語言,能夠生成.NET以及JavaScript。雖然Clojure也能被直接編譯成Java字節碼,但是無法使用動態語言特性以及直 接調用Java類庫。與其他的JVM腳本語言不一樣,Clojure並不算是面向對象的。

Scala經常被我們描述爲多模式的編程語言,因爲它混合了來自很多編程語言的元素的特徵。但無論如何它本質上還是一個純粹的面嚮對象語言。它相比傳統編 程語言最大的優勢就是提供了很好並行編程基礎框架措施了。這是唯一一個在JVM中擁有actors -- 另一種並行編程代碼生成器。Scala代碼能很好的被優化成字節碼,運行起來和原生Java一樣快。

Kotlin是靜態類型的語言,也可以編程成Java字節碼以及JavaScript,作爲一個時髦又表現豐富的編程語言,Kotlin就是被設計用來生 產高性能要求的程序的,所以運行起來和Java也是不相上下。Kotlin可以從 JetBrains InteilliJ Idea IDE這個開發工具以插件形式使用。

Rhino是使用Java編寫的開源的JavaScript引擎。當前是Mozilla公司在主導它的發展,Rhino的特點是爲JavaScript加 了個殼,然後嵌入到Java中,這樣能夠讓Java程序員直接使用。其中Rhino的JavaAdapters能夠讓JavaScript通過調用 Java的類來實現特定的功能。

Ceylon是一個通用的,靜態類型編程語言,也是基於阻塞以及面向對象的。據說這個語言深受Java的影響,而且它一開始就是被Red Hat公司設計爲給大型團隊合作完成大型項目來的。Ceylon的主要努力方向是將語言變得更加可讀,更加可預期,更加工具化以及更加模塊化。據 Gavin King所說,Ceylon將不僅僅只是個編譯器,而將是一個可以取代Java SDK的新Ceylon SDK。

Fantom能夠在運行時爲JVM以及.NET或者JavaScript平臺生成字節碼,Fantom是與Groovy以及JRuby差不多的一樣面向對 象的編程語言,但是悲劇的是Fantom無法使用Java類庫,而是使用它自己擴展的類庫。忘了說Fantom也包括actors,而且它最大的優勢就是 在網站上有一個非常完備卓越的API文檔系統。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章