五大基於JVM的腳本語言

還記得以前本站的一篇文章《如何在Google App Engine上運行PHP》嗎,其實那是借用 Quercus, 一個 100% 的用Java 實現的一個 PHP 引擎。今天,這樣的東西太多了,能運行在Java的虛擬機JVM上的程序意味着有天然的跨平臺性,現在JVM並不單單隻能運行Java程序,在JVM上出現了若干使用Java虛擬機運行的腳本程序,比如什麼PHP, Python, Ruby等等,這裏有一篇文章評論了在JVM上的可以運行的排名前五腳本語言。他們分別是:

  1. Groovy。構建在強大的Java語言之上 並添加了從Python,Ruby和Smalltalk等語言中學到的諸多特徵,爲Java開發者提供了現代最流行的編程語言特性,而且學習成本很低(幾乎爲零),在開發Web,GUI,數據庫或控制檯程序時, 通過減少框架性代碼 大大提高了開發者的效率。支持單元測試和模擬(對象),可以簡化測試。無縫集成 所有已經存在的 Java對象和類庫。直接編譯成Java字節碼,這樣可以在任何使用Java的地方 使用Groovy。
  2. JRuby。一個純Java實現的Ruby解釋器。通過JRuby,你可以在JVM上直接運行Ruby程序,調用Java的類庫。很多Java編寫的Ruby IDE都是使用JRuby來解釋語法的。
  3. Scala。一種多範式的編程語言,設計意圖是要整合面向對象編程和函數式編程的各種特性。Scala編程語言近來抓住了很多開發者的眼球。它看起來像是一種純粹的面向對象編程語言,而又無縫地結合了命令式和函數式的編程風格。Scala的名稱表明,它還是一種高度可伸縮的語言。Scala的設計始終貫穿着一個理念:創造一種更好地支持組件的語言。
  4. Fantom 。Fantom 前身是 (Fan) 是一個基於 Java 和 .NET 平臺的編程腳本引擎,用來在運行時產生 JVM 和 .NET 平臺的字節碼,該語言是面向對象的,跟 Groovy 和 JRuby 有點類似,可通過特定的接口來集成 Java 的類庫。
  5. Jython。Jython由於繼承了Java和Python二者的特性而顯得很獨特。其是一種完整的語言,而不是一個Java翻譯器或僅僅是一個Python編譯器,它是一個Python語言在Java中的完全實現。Jython也有很多從CPython中繼承的模塊庫。最有趣的事情是Jython不像CPython或其他任何高級語言,它提供了對其實現語言的一切存取。所以Jython不僅給你提供了Python的庫,同時也提供了所有的Java類。這使其有一個巨大的資源庫。

下面是一張表格比較了這五大JVM腳本語言:

  Groovy JRuby Scala Fantom Jython
風格類型 OO / 動態 OO / 動態 OO, 過程/ 靜態 OO / 靜態 OO / 動態
源語言 Java Ruby N/A N/A Python
運行 編譯型 編譯型,
解釋型
編譯型 半編譯型 編譯型
平臺 JVM JVM JVM JVM, .Net CLR JVM
Java集成 極好 極好 極好 極好
運行速度 極好 很好
工具支持 廣泛 還可以 廣泛 幾乎沒有 幾乎沒有

其它一些JVM的腳本語言也我們可以關注一下,如:ClojureJavaFX, 和IBM的 NetRexx

發佈了51 篇原創文章 · 獲贊 15 · 訪問量 23萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章