JAVA開發(fā):五大基于JVM的腳本語(yǔ)言本文Tag: Java
【IT168 技術(shù)】還記得以前本站的一篇文章《如何在Google App Engine上運(yùn)行PHP》嗎,其實(shí)那是借用 Quercus,一個(gè) 100% 的用Java 實(shí)現(xiàn)的一個(gè) PHP 引擎。今天,這樣的東西太多了,能運(yùn)行在Java的虛擬機(jī)JVM上的程序意味著有天然的跨平臺(tái)性,現(xiàn)在JVM并不單單只能運(yùn)行Java程序,在JVM上出現(xiàn)了若干使用Java虛擬機(jī)運(yùn)行的腳本程序,比如什么PHP, Python, Ruby等等,這里有一篇文章評(píng)論了在JVM上的可以運(yùn)行的排名前五腳本語(yǔ)言。他們分別是: Groovy:構(gòu)建在強(qiáng)大的Java語(yǔ)言之上 并添加了從Python,Ruby和Smalltalk等語(yǔ)言中學(xué)到的諸多特征,為Java開發(fā)者提供了現(xiàn)代最流行的編程語(yǔ)言特性,而且學(xué)習(xí)成本很低(幾乎為零),在開發(fā)Web,GUI,數(shù)據(jù)庫(kù)或控制臺(tái)程序時(shí), 通過(guò)減少框架性代碼 大大提高了開發(fā)者的效率。支持單元測(cè)試和模擬(對(duì)象),可以簡(jiǎn)化測(cè)試。無(wú)縫集成 所有已經(jīng)存在的 Java對(duì)象和類庫(kù)。直接編譯成Java字節(jié)碼,這樣可以在任何使用Java的地方 使用Groovy。 JRuby:一個(gè)純Java實(shí)現(xiàn)的Ruby解釋器。通過(guò)JRuby,你可以在JVM上直接運(yùn)行Ruby程序,調(diào)用Java的類庫(kù)。很多Java編寫的Ruby IDE都是使用JRuby來(lái)解釋語(yǔ)法的。 Scala:一種多范式的編程語(yǔ)言,設(shè)計(jì)意圖是要整合面向?qū)ο缶幊毯秃瘮?shù)式編程的各種特性。Scala編程語(yǔ)言近來(lái)抓住了很多開發(fā)者的眼球。它看起來(lái)像是一種純粹的面向?qū)ο缶幊陶Z(yǔ)言,而又無(wú)縫地結(jié)合了命令式和函數(shù)式的編程風(fēng)格。Scala的名稱表明,它還是一種高度可伸縮的語(yǔ)言。Scala的設(shè)計(jì)始終貫穿著一個(gè)理念:創(chuàng)造一種更好地支持組件的語(yǔ)言。 Fantom:Fantom 前身是 (Fan) 是一個(gè)基于 Java 和 .NET 平臺(tái)的編程腳本引擎,用來(lái)在運(yùn)行時(shí)產(chǎn)生 JVM 和 .NET 平臺(tái)的字節(jié)碼,該語(yǔ)言是面向?qū)ο蟮?,?Groovy 和 JRuby 有點(diǎn)類似,可通過(guò)特定的接口來(lái)集成 Java 的類庫(kù)。 Jython:Jython由于繼承了Java和Python二者的特性而顯得很獨(dú)特。其是一種完整的語(yǔ)言,而不是一個(gè)Java翻譯器或僅僅是一個(gè)Python編譯器,它是一個(gè)Python語(yǔ)言在Java中的完全實(shí)現(xiàn)。Jython也有很多從CPython中繼承的模塊庫(kù)。最有趣的事情是Jython不像CPython或其他任何高級(jí)語(yǔ)言,它提供了對(duì)其實(shí)現(xiàn)語(yǔ)言的一切存取。所以Jython不僅給你提供了Python的庫(kù),同時(shí)也提供了所有的Java類。這使其有一個(gè)巨大的資源庫(kù)。 下面是一張表格比較了這五大JVM腳本語(yǔ)言:
|
|