新聞中心
【經(jīng)典譯文】大衛(wèi)·梅吉森(Dave Megginson)***寫了一篇文章:Java已死。(許多使用Java的XML程序員應(yīng)該很熟悉,他推動了SAX API的開發(fā))。

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),鎮(zhèn)巴企業(yè)網(wǎng)站建設(shè),鎮(zhèn)巴品牌網(wǎng)站建設(shè),網(wǎng)站定制,鎮(zhèn)巴網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,鎮(zhèn)巴網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
作為一種編程語言(而不是平臺),Java與眾不同,這應(yīng)歸因于Sun公司拒絕通過聲譽良好的獨立標(biāo)準(zhǔn)組織將其標(biāo)準(zhǔn)化(雖然做了很多努力,一次試圖讓Java通過ECMA,一次是ISO,但Sun公司都最終退出,并推出讓人非常不滿的JCP體系,既Java Community Process)。Sun缺少對Java作出巨大改動的能力和意愿(某些方式與其意愿不符),Java不得不面對兩個主要的對手(微軟的J++以及后來的C#,還有IBM的SWT),這兩個對于主要的組件(圖形庫)提出了異議。Java成于中間件,但卻失敗于未能利用桌面瀏覽器的崛起之勢:他們的HTML解析器在上世紀(jì)九十年代非常出色,但被有意地忽視,而至于無用之地。對此,很難不將其視為Sun公司有意為之:將瀏覽器市場留給它的對手和合作者。我的確曾非常喜歡Java,在某種意義上,甚至拿我的公司作為賭注壓在Java上:今天我絕不會再這樣做。
推薦專題:走向混合編程時代
對于桌面領(lǐng)域(我明白所有人都知道,在萬維網(wǎng)時代和即將來臨的iPad+Android時代,這一領(lǐng)域已是萬劫不復(fù)地死去),同類語言有什么替代者?我把時間花在什么樣的XML處理方式上?我一直留意較多的是Scala:它集成到JVM中,具有類似的基于C語言的語法,并且能夠?qū)㈩怞ava程序升級為擁有更多函數(shù)的DSL程序。然而,我還有三點疑慮。***,存在很多種函數(shù)式編程,它們使用了XSLT,對于XML處理,XSLT比Scala具有更好的優(yōu)化性。第二,使用JVM讓Scala處于不利地位,可能引起Oracle的訴訟(或許這種情況只是杞人憂天?)。第三,許多Scala的資料都寫得比較學(xué)術(shù)化,或者是由偏門語言的擁護(hù)者編寫。(不管是誰,在討論某項技術(shù)的優(yōu)勢時,如果使用了monad這種專業(yè)術(shù)語,自我看來,其流行程度就會直線跳水。)
推薦專題:Scala編程語言
另一個競爭者是Vala,不過沒有上述三種問題。某種程度上,這是一種真正的回歸,回到上世紀(jì)八十年代:基于C的對象語言,但又被賦予了C++的強大和Java的成功。下面是Vala網(wǎng)站上的宣傳介紹:
Vala是一種新的編程語言,其目標(biāo)是為GNOME開發(fā)者提供現(xiàn)代化的編程語言功能,同時沒有額外的運行時要求,并且相對于C語言編寫的應(yīng)用程序和庫,無需使用不同的ABI。
Vala是基于GNOME的GObject系統(tǒng),提供了那種你期望的類功能。與Scala一樣,在語言級別上,它具有與Java Beans的get*()和set*()等同的屬性,但是,對于屬性更改通知和監(jiān)聽器(listener),它也能夠提供了語言級別上的支持。它不具備很強的XML處理能力,只是一個迷你型的解析器,不過看起來它的確具有很好的Unicode功能(字符串為UTF-8,string.getch()可返回16位的unichar字符。)在功能級別上,Vala與Java***的不同之處應(yīng)該是對象回收(de-allocation)的引用計數(shù)系統(tǒng)(reference-counting),相對于Java的GC,這一系統(tǒng)能夠提供更多確定的實時行為,不過也為某些編程錯誤打開了一扇窗戶。在這個時代,Vala的另一個古怪之處在于,對于陣列訪問不進(jìn)行邊界檢查,所以它比Java對規(guī)則的要求更為嚴(yán)格(不過可以推測,比C語言要寬松很多)。
我很期待有人對Vala產(chǎn)生興趣,比如有人在考慮編寫新的C或C++應(yīng)用程序,或者使用C、C++、C#或者不斷抱怨不滿的Java程序員,想要拜托大企業(yè)的控制,同時在其背后有一個經(jīng)過證實的(保持操作系統(tǒng)中立?)強大平臺,這樣的人能夠去使用Vala。我想,與Scala一樣,在大型項目上使用之前,你當(dāng)然想要檢查一下是否具有適當(dāng)?shù)腎DE支持。
在服務(wù)器端,Google公司推出的Go編程語言是很有前途的:它更少面向?qū)ο?,但同時具有C語言領(lǐng)域內(nèi)的效率。他們的宣傳介紹如下:
快速……并行……安全……有趣……開源
Go語言為功能強大的gorountines提供另一個關(guān)鍵字go,可封裝各種fibre/線程/進(jìn)程/多核類型的并行計算。
我很想看到Go和Vala聯(lián)姻生子,帶來一種更可愛的語言。我認(rèn)為Vala和Scala還沒有很好地發(fā)揮多核CPU的優(yōu)勢。
原文名稱:Vale Java? Scala Vala palava and Go too
原文地址:http://broadcast.oreilly.com/2010/08/vale-java-scala-vala-palava.html
[[14971]]
原文作者:Rick Jelliffe
【譯稿,非經(jīng)授權(quán)謝絕轉(zhuǎn)載,合作媒體轉(zhuǎn)載請注明原文出處、作者及譯稿和譯者!】
【編輯推薦】
- “Scala” 一個有趣的語言
- 編程思想碰撞 Scala不是改良的Java
- 1月編程榜發(fā)布:Google Go意外奪得年度編程語言
- Google Go語言的快樂編程因素
- 再論Java已死 基于JVM的語言已成Java***威脅
網(wǎng)頁題目:Vala,Java的遠(yuǎn)親還是近鄰
標(biāo)題鏈接:http://m.fisionsoft.com.cn/article/dhidscd.html


咨詢
建站咨詢
