隨筆-13  評(píng)論-12  文章-3  trackbacks-0
              近來,圍繞著Java的戰(zhàn)爭似乎從來就沒有停止過。先是甲骨文與谷歌反目,后是JCP 重要成員 Apache 基金會(huì)宣布,如果 Oracle 不給 Harmony 提供兼容性測試,將退出 JCP,并號(hào)召其它成員抵制 Java 7。這樣一來,問題的矛頭直指Java 7。

            而就在近日,甲骨文宣布,Java 7將于2011年7月28日推出。甲骨文同時(shí)表示,公司已于昨天向Javap社區(qū)進(jìn)程執(zhí)行委員會(huì)提交了Java 7 和8的信息,并等待批準(zhǔn)。Java平臺(tái)首席架構(gòu)官馬克•萊因霍爾德在其博客中表示,兩周內(nèi)將會(huì)得到結(jié)果。

            幾方面的信息匯總在一起,就不禁讓人產(chǎn)生聯(lián)想:Java 7的到來會(huì)不會(huì)是Java走向分裂的開始?

            禍起兼容

            說起兼容性,還得從Java語言本身談起。Java語言從誕生之日起,就被下了一個(gè)定義:一次編寫,到處運(yùn)行。事實(shí)上,此言非虛。

            Java 號(hào)稱是跨平臺(tái)的語言,簡單的說,它是在不同平臺(tái)之間搭建一個(gè)相同的軟件運(yùn)行環(huán)境。或說是 Java 虛擬機(jī)。虛擬機(jī)起到一個(gè)承上啟下的作用,開發(fā)者不用考慮平臺(tái),只要保證自己的程序能夠在虛擬機(jī)上運(yùn)行,而實(shí)際的硬件操作由虛擬機(jī)聯(lián)系操作系統(tǒng)完成。

            Java 原本屬于 Sun 公司。Sun 一直是一個(gè)在商業(yè)和開源之間走著平衡的公司。雖然,Sun 開發(fā)了大部分的 Java 平臺(tái)代碼,但任何公司的平臺(tái),如果想要運(yùn)行 Java 程序,仍就必須購買 Java 虛擬機(jī)的使用權(quán),這涉及到安全和技術(shù)支持問題。

          但規(guī)律之外總有特殊,Apache 基金會(huì)的 Harmony 計(jì)劃就是這個(gè)規(guī)律之外的特殊,原因就在于Harmony 計(jì)劃的目的在于使得Java 平臺(tái)脫離 Sun 的控制,獲得充分的自由。對(duì)此 Sun 自然不會(huì)很高興,一是商業(yè)原因,二是可能產(chǎn)生的平臺(tái)分裂。因此,Sun 雖然沒有起訴 Apache 基金會(huì),卻一直沒有給 Harmony 提供兼容測試,同時(shí) Sun 在 Java 平臺(tái)的使用上有限制,因此 Harmony 的代碼是不能使用到手機(jī)上的,當(dāng)然 Apache 也沒有這個(gè)計(jì)劃,所以事情就擱置了下來,直到 Android 的出現(xiàn)。

          Android 的 Dalvik 虛擬機(jī)運(yùn)行的不是 Java 程序,但谷歌為了吸引 Java 程序員,允許 程序員使用 Android 的SDK 將 Java 代碼轉(zhuǎn)換成 Dalvik 可以運(yùn)行的代碼。谷歌之所以能夠達(dá)到目的,就是利用了Harmony中的開源 Java 庫來實(shí)現(xiàn) Java 程序的轉(zhuǎn)換,避開了授權(quán)費(fèi)用。這意味著開發(fā)者可以使用 Java 語言為非 Java 平臺(tái)開發(fā)程序,Android 的火爆發(fā)展不能給 Sun 帶來商業(yè)利益,而且可能造成平臺(tái)分裂。

          Java 7會(huì)不會(huì)成為導(dǎo)火索

            自從 Oracle 掌權(quán) Java 之后,JCP 便逐漸為 Oracle 所拋棄,這意味著 Oracle 要獨(dú)自控制 Java 平臺(tái)。做為 JCP 一員的 Apache 基金會(huì)已經(jīng)無法影響 Java 的方向,它的 Java 開源實(shí)現(xiàn) Harmony 也被 Oracle 拒之門外,因此,Apache 基金會(huì)的存在只是一個(gè)形式而已。

          因此,甲骨文與谷歌反目,直接沖擊的就是Apache 基金會(huì)。Oracle 拒絕給 Harmony 提供兼容測試,這意味著 Harmony 與 Java 平臺(tái)的徹底分裂,隨著 Java 7 的到來,這個(gè)問題將更加嚴(yán)重。這是否意味著 Java 語言升級(jí)之后,Google 不得不重新編寫底層代碼已適應(yīng)新的 Java 語言,但是 Google 這將是一項(xiàng)耗時(shí)費(fèi)力的艱苦工作,而自己編寫的實(shí)現(xiàn)也許會(huì)再次遭到 Oracle 的起訴,因?yàn)?Oracle 已經(jīng)推出自己的開發(fā)環(huán)境 OpenJDK,獲得了 IBM 和蘋果的支持。

            Apache 基金會(huì)目前已經(jīng)正式聲明,號(hào)召其他成員抵制 Java7,如果 Oracle 不提供 Harmony的兼容性測試,將退出 JCP,這意味著 JCP 內(nèi)一個(gè)最大的開源勢力推出 Java,下一步便是徹底的決裂。

          需要注意的是,在Tiobe發(fā)布的最新一期的編程語言排行榜上,位列第一位的依然是Java語言。但眾所周知,開發(fā)領(lǐng)域正面臨一次革命性的遷移。原來的 應(yīng)用更多地跑在PC機(jī)上,而未來各類應(yīng)用將更多地跑在各類移動(dòng)設(shè)備上。比起僅有10億臺(tái)PC規(guī)模的互聯(lián)網(wǎng)時(shí)代,擁有百億臺(tái)設(shè)備規(guī)模的移動(dòng)互聯(lián)網(wǎng)時(shí)代,其發(fā) 展速度將快于桌面互聯(lián)網(wǎng),其規(guī)模將大得超乎多數(shù)人的想象。

            在這個(gè)背景之下看Java的發(fā)展,在這次遷移當(dāng)中,Java本來就可能面對(duì)各類新興開發(fā)語言的沖擊。雖然蘋果支持Java7,但蘋果有自己的Objective-C,并且隨著iOS的火爆,Objective-C的地位可以說是在直線上升。

            Adobe首席技術(shù)官凱文 林奇認(rèn)為,Android系統(tǒng)的增長將會(huì)再次超過業(yè)界預(yù)期,在未來半年內(nèi),其將占據(jù)智能手機(jī)市場50%的份額。近管數(shù)字會(huì)有出入,但有一點(diǎn)是肯定的:Android系統(tǒng)一定會(huì)成為業(yè)界的主流操作系統(tǒng)。

            這樣一來,在移動(dòng)應(yīng)用開發(fā)領(lǐng)域,Java就不得不面臨iOS與Android兩大主流系統(tǒng)的競爭。在桌面和服務(wù)器端,從Tiobe排行上來看,PHP等語言的上升勢頭也非常猛。

            面對(duì)這種情況,也許我們已經(jīng)可以大膽斷言:Java保持了多年的老大位子,會(huì)不會(huì)隨著Java 7的到來而丟掉。也許,在以前的多少年內(nèi),這還只是一種推測,而在接下來的時(shí)間內(nèi),這可能將成為現(xiàn)實(shí)了。


          本文鏈接:http://tech.it168.com/a2010/1123/1129/000001129304_1.shtml

          posted on 2010-11-23 18:39 zeroline 閱讀(281) 評(píng)論(0)  編輯  收藏 所屬分類: 轉(zhuǎn)載

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 静安区| 陆丰市| 新乐市| 商洛市| 湟中县| 交口县| 肃北| 潮安县| 五台县| 广南县| 巴马| 牙克石市| 屏东市| 和平区| 于都县| 东至县| 德惠市| 宜城市| 浠水县| 长泰县| 长治市| 图木舒克市| 济南市| 三江| 玉树县| 桐柏县| 搜索| 广州市| 汤原县| 黑水县| 亳州市| 文安县| 达日县| 普兰店市| 天气| 伊金霍洛旗| 兴文县| 武清区| 北辰区| 虎林市| 潜山县|