自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

當(dāng)下主流JVM語言一覽

譯文
開發(fā) 后端 新聞
目前,JVM運(yùn)行環(huán)境的大規(guī)模普及促使相關(guān)周邊語言不斷涌現(xiàn)。在本文中,我們將帶大家共同指點(diǎn)江山、評(píng)說英杰,并關(guān)注那些正在冉冉升起的語言新星。

目前,JVM運(yùn)行環(huán)境的大規(guī)模普及促使相關(guān)周邊語言不斷涌現(xiàn)。在本文中,我們將帶大家共同指點(diǎn)江山、評(píng)說英杰,并關(guān)注那些正在冉冉升起的語言新星。

NetRexx

NetRexx可謂Java領(lǐng)域的腳本語言先驅(qū)者,它的誕生標(biāo)志著開發(fā)人員對(duì)Java繁瑣語法的***次反擊。雖然以免費(fèi)形式發(fā)布,但NetRexx的閉源性質(zhì)最終阻礙了它的高歌猛進(jìn)之勢(shì)。人們清醒地意識(shí)到,IBM公司根本沒有將這一項(xiàng)目繼續(xù)深入發(fā)展或是轉(zhuǎn)向開源的意圖。最終,NetRexx應(yīng)用如今已經(jīng)近乎絕跡。

Jython (Java平臺(tái)上的Python)

作為一款早期開源JVM語言,Jython(最初名為‘JPython’)原本立志成為Python搶占JVM環(huán)境的急先鋒。優(yōu)秀的契合效果使得大部分代碼無需改動(dòng)即可直接運(yùn)行。然而,就在該語言即將大展身手之時(shí),其創(chuàng)始人Jim Hugunin被微軟挖至麾下,他自然也就把工作重點(diǎn)轉(zhuǎn)向Python與.NET環(huán)境的結(jié)合(這就是IronPython項(xiàng)目)。隨著創(chuàng)始人的離去,Jython始終未能恢復(fù)元?dú)?,并在接下來的?shù)年中寂寂無聞。直到幾年之前該項(xiàng)目才開始重新煥發(fā)生機(jī),然而這時(shí)它的面前已經(jīng)出現(xiàn)了多位相當(dāng)強(qiáng)大的競爭對(duì)手。

Groovy

Groovy最初的定位是JSR(即Java規(guī)范請(qǐng)求),在經(jīng)過數(shù)年的苦苦掙扎之后,原本的負(fù)責(zé)人也扔下攤子跑去搞其它項(xiàng)目了。而直到法國開發(fā)人員Guillaume Laforge的加入,才讓Groovy重新步入正軌、擁有了規(guī)模龐大且熱情高漲的支持社區(qū),進(jìn)而迸發(fā)出***的耀眼光芒。這是一款與Java本身頗為相近的語言,它的設(shè)計(jì)目的在于為開發(fā)者提供一套自助式語法解決方案,在這一點(diǎn)上它無疑是成功的。它同時(shí)是當(dāng)下碩果僅存的兩種能夠從上市公司(由VMware資助,另一種是Gosu語言)處獲得資助,以支持自身開發(fā)團(tuán)隊(duì)運(yùn)營的JVM語言之一。在強(qiáng)大經(jīng)濟(jì)后盾的輔助下,Groovy的更新活動(dòng)相當(dāng)頻繁,而且最近一次升級(jí)更是彌補(bǔ)了其長期以來的***缺陷:運(yùn)行速度緩慢。

Scala

Scala嘗試將OO(即面向?qū)ο?與功能范例二者進(jìn)行協(xié)調(diào)或者整合。Scala的基本語法能夠作為Java的替代品直接使用,而其中更多高級(jí)功能則可以用來編寫功能性代碼。隨著編程人員水平的提升,如今我們已經(jīng)可以方便地將代碼從一套范例遷移至另一套范例(對(duì)于高端Scala開發(fā)人員而言,功能性永遠(yuǎn)是優(yōu)先考慮的因素)。但它同時(shí)也存在缺憾,由于入門者與高端開發(fā)人員之間的語言理解能力差距過大,導(dǎo)致很多代碼難以為大眾所讀懂。該語言內(nèi)置一套Scala庫,那些一直以來令開發(fā)人員頭痛不已的傳統(tǒng)并行編程問題在這里基本得到了有效解決。至于它的缺點(diǎn),除了有些晦澀的代碼構(gòu)成之外,它所采用的編譯器與本文中其它語言相比在處理速度方面實(shí)在有些孱弱;另外過去曾出現(xiàn)過新版本無法與舊版本相兼容的問題。

JRubyMirah

這兩種語言由同一個(gè)團(tuán)隊(duì)所設(shè)計(jì),二者都試圖將Ruby語言引入JVM環(huán)境,語言特色也都曾經(jīng)發(fā)生過轉(zhuǎn)變。如今Ruby on Rails框架已經(jīng)可以順利運(yùn)行于JVM之中。Ruby與Java環(huán)境之間的互操作性極為優(yōu)異,而且Ruby Gems與Java庫的運(yùn)行都稱得上簡潔高效,執(zhí)行結(jié)果令人贊嘆。

Mirah與JRuby在功能上基本一致,只是與Ruby語言的關(guān)聯(lián)性更弱一些。這就使得開發(fā)人員能夠帶著Mirah一個(gè)“JAR文件”走天下,而不必費(fèi)神安裝模擬Ruby環(huán)境所必需的大量軟件包。

#p#

Gosu

由專門從事保險(xiǎn)行業(yè)軟件開發(fā)的上市企業(yè)Guidewire所支持的Gosu,具備幾大令人印象深刻的能力。其中最不尋常的功能是創(chuàng)建出新的數(shù)據(jù)類型,并將其作為原生數(shù)據(jù)類型嵌入到語言當(dāng)中。它還允許對(duì)現(xiàn)有類進(jìn)行傻瓜式修整,因此新方案能夠輕松加入當(dāng)前運(yùn)行環(huán)境。

Fantom

在本文中所提到的所有語言中,F(xiàn)antom可謂***。它不僅能夠生成Java字節(jié)碼,連生成.NET中間代碼與JavaScript代碼也綽綽有余。從這個(gè)角度來說,它可以被視為一種通用型語言。它在設(shè)計(jì)上也相當(dāng)用心:所有整數(shù)都是64位,從而消除了大量溢出問題;全部多重處理工作只由角色完成,這就有效避免了許多常見問題的發(fā)生;而且它所使用的庫在設(shè)計(jì)之初就能夠支持全套Unicode字符列表及字符串。從許多角度來看,F(xiàn)antom的設(shè)計(jì)足可獨(dú)占本篇匯總型文章的鰲頭。不過它所使用的模塊設(shè)計(jì)較為獨(dú)特,在實(shí)際應(yīng)用時(shí)需要一段時(shí)間來習(xí)慣,并且缺乏良好IDE的支持。

Clojure

Clojure是對(duì)Lisp在JVM運(yùn)行環(huán)境中的再創(chuàng)造。盡管它自面世至今不過數(shù)年光景,但由于其精致的語法表達(dá)式、與Java的高度集成化(由于與Java使用同一套規(guī)則,Clojure在字節(jié)碼編譯過程中可以輕松調(diào)用Java的規(guī)則內(nèi)容)以及使用社區(qū)的熱情支持,Clojure已經(jīng)在開發(fā)者群體中獲得了極高的人氣。一些專家甚至預(yù)言,Clojure將成為令函數(shù)式語言成為編程主流的決定性因素(Scala也獲得了相似的評(píng)價(jià))。

Kotlin

Kotlin是JVM家族中年紀(jì)最小的一位新成員。它從Groovy及Scala等前輩身上繼承了不少優(yōu)秀基因,同時(shí)還加入了一些別出心裁的原創(chuàng)要素。它的設(shè)計(jì)思路是提供同Java一樣快捷的編譯效果,并獲得本地Java二進(jìn)制內(nèi)容的處理速度。這兩大優(yōu)勢(shì)使其從頭一個(gè)發(fā)布版起,就成為開發(fā)人員們解決編譯及執(zhí)行速度問題的***JVM語言。

原文鏈接:http://drdobbs.com/jvm/232600853?pgno=1

【編輯推薦】

  1. JetBrains開源其Kotlin語言 基于JVM的新編程語言
  2. JVM垃圾回收與性能調(diào)優(yōu)總結(jié)
  3. 用JavaScript編寫JVM可成功運(yùn)行Java程序
  4. BicaVM:基于JavaScript的JVM-為什么呢?
  5. 深入Java,初探JVM
責(zé)任編輯:陳貽新 來源: 51CTO
相關(guān)推薦

2011-02-23 10:17:49

瀏覽器OperaSafari

2024-02-05 14:18:07

自然語言處理

2009-08-26 09:26:04

Visual Stud

2013-12-12 14:04:28

C編程語言

2009-03-03 20:44:06

桌面虛擬化Xendesktop虛擬化

2010-10-14 16:55:00

MySQL聯(lián)結(jié)查詢

2017-03-06 16:34:12

虛擬個(gè)人助理

2020-02-17 15:29:00

石墨文檔

2010-11-15 09:55:35

Oracle轉(zhuǎn)換函數(shù)

2023-11-08 07:45:47

Spring微服務(wù)

2011-01-11 09:53:28

linux進(jìn)程

2011-01-11 10:06:14

linux進(jìn)程

2019-04-26 14:21:34

手機(jī)色彩蘋果

2021-06-08 09:47:44

Java面向對(duì)象

2013-10-14 09:44:50

2013-10-14 15:55:30

2010-10-21 15:40:05

SQL Server服

2017-09-06 08:12:43

OpenStack功能模塊

2011-05-26 10:27:37

Fedora 15

2017-04-25 17:29:24

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)