java語(yǔ)言的國(guó)內(nèi)外研究現(xiàn)狀和發(fā)展趨勢(shì)
來(lái)源:新能源網(wǎng)
時(shí)間:2024-08-17 12:05:17
熱度:
java語(yǔ)言的國(guó)內(nèi)外研究現(xiàn)狀和發(fā)展趨勢(shì)【專家解說(shuō)】:下文來(lái)自CSDNOracle對(duì)Sun的收購(gòu)引發(fā)了人們對(duì)Java未來(lái)的一絲擔(dān)心,Oracle能否繼續(xù)保持Java的開放性,面對(duì)Ru
【專家解說(shuō)】:下文來(lái)自CSDNOracle對(duì)Sun的收購(gòu)引發(fā)了人們對(duì)Java未來(lái)的一絲擔(dān)心,Oracle能否繼續(xù)保持Java的開放性,面對(duì)Ruby、Python或PHP 等一批輕量型語(yǔ)言的崛起,Java能否繼續(xù)保持其在開發(fā)領(lǐng)域的領(lǐng)導(dǎo)地位?14年前,Sun公司的一位營(yíng)銷天才把一門試驗(yàn)性的跨平臺(tái)語(yǔ)言由象征踏實(shí)的Oak(橡樹),改名為香氣四溢的Java(咖啡)時(shí),可能他沒有想到這 門語(yǔ)言能有后來(lái)的輝煌。事實(shí)上,如果現(xiàn)在Sun想為這門語(yǔ)言改名,以準(zhǔn)確體現(xiàn)其在計(jì)算機(jī)行業(yè)的地位,似乎Oak更形象。今天,雖然Java語(yǔ)言并非真正意 義上的遍地開花,但它已經(jīng)出現(xiàn)在眾多場(chǎng)合和設(shè)備中,而且它享有運(yùn)行穩(wěn)定、設(shè)計(jì)精良的美名; Java代碼也許無(wú)法主導(dǎo)所有計(jì)算機(jī)或所有平臺(tái),但它離成為通用語(yǔ)言已近在咫尺。Java之父詹姆斯戈斯林(James Gosling)在Oracle主辦的OpenWorld大會(huì)上登臺(tái)發(fā)言時(shí)闡述了這一點(diǎn)。他調(diào)出JavaFX幻燈片,上面是一連串統(tǒng)計(jì)數(shù)字:超過8.5億 個(gè)具有Java功能的桌面機(jī)和大約100億個(gè)具有Java功能的設(shè)備。實(shí)際上,Java虛擬機(jī)在電子設(shè)備中司空見慣:電子書閱讀器Kindle、藍(lán)光磁盤 播放機(jī)和智能電話(包括不太智能的手機(jī))等。iPhone(手機(jī)上網(wǎng))應(yīng)用程序可以在成千上萬(wàn)部iPhone上運(yùn)行,但Java嵌入在26億部手機(jī)上,從 不太智能、20美元就能買到的手機(jī),到最新一代的黑莓和Android手機(jī)無(wú)一不包。請(qǐng)戈斯林到OpenWorld大會(huì)上演講,只是Oracle掌門人拉里埃利森(Larry Ellison)希望向工程師們一再保證這門語(yǔ)言前途光明的手段之一。Oracle想要并購(gòu)Sun,但它仍得等待歐洲監(jiān)管部門批準(zhǔn)這一決策。美國(guó)政府已開 了綠燈,但歐洲政府官員由于擔(dān)心MySQL的發(fā)展還沒有同意這一起交易。戈斯林和Sun董事長(zhǎng)麥克尼利(McNealy)都表示,一旦并購(gòu)工作完 成,Java會(huì)從Oracle得到比以往更多的關(guān)注和資源。從近期來(lái)看,埃利森傳達(dá)的信號(hào)也許不是很重要,因?yàn)槿缃馢ava已成氣候,要改變發(fā)展方向也并不容易。當(dāng)然,也有一些人認(rèn)為,Oracle的商業(yè)模 式太不一樣了,所以它必然會(huì)對(duì)Java生態(tài)系統(tǒng)的每個(gè)部分進(jìn)行重大變化。總體來(lái)說(shuō),每拿出一個(gè)Java可能變化的理由,就有同樣充足的理由表明 Oracle可能還是希望保持現(xiàn)狀。企業(yè)級(jí)應(yīng)用是主戰(zhàn)場(chǎng)Java最先在服務(wù)器端找到了自己的位置,未來(lái)這個(gè)領(lǐng)域仍是有望看到Java虛擬機(jī)的主要地方。對(duì)Oracle的所有產(chǎn)品來(lái)說(shuō),大型服務(wù)器也是主要 的安身之處,所以出現(xiàn)這對(duì)組合自在情理當(dāng)中。雖然PHP編程員青睞MySQL,但對(duì)數(shù)據(jù)密集型的企業(yè)應(yīng)用來(lái)說(shuō),許多最要緊的項(xiàng)目還是使用基于Oracle 的架構(gòu)封裝而成的Java,這種情況應(yīng)該不會(huì)很快發(fā)生變化。Sun稱,GlassFish應(yīng)用服務(wù)器每個(gè)月的下載量超過100萬(wàn)人次,Tomcat等比較舊的平臺(tái)仍然很常見。由于Java這項(xiàng)技術(shù)備受推崇、 運(yùn)行速度快、真正跨平臺(tái),大型企業(yè)(如銀行和保險(xiǎn)公司)對(duì)Java開發(fā)人員求之若渴。不過,Java不再被認(rèn)為是最新最酷的語(yǔ)法。一些編程員對(duì)靜態(tài)類型語(yǔ)言的結(jié)構(gòu)滿腹牢騷,紛紛改用更新穎或更簡(jiǎn)單的語(yǔ)言,比如Ruby、Python 或PHP?,F(xiàn)在許多較簡(jiǎn)單的Web應(yīng)用程序就是用這些語(yǔ)言開發(fā)而成的,因?yàn)樗鼈兙帉懙拇a容易修改,能快速建立原型。然而,這些使用便捷的新語(yǔ)言常常離不 開Java: Ruby開發(fā)人員常常使用JRuby(基于Java實(shí)現(xiàn)的Ruby語(yǔ)言),因?yàn)镴ava虛擬機(jī)能夠更出色地處理繁重任務(wù)、釋放多個(gè)線程。Jython(基 于Java實(shí)現(xiàn)的Python語(yǔ)言)也相似。Java現(xiàn)在正在加入一些最新的編程技術(shù),以此遏制這些新語(yǔ)言大舉入侵。Grails明顯模仿了Ruby on Rails的許多簡(jiǎn)單的說(shuō)明性模式;Grails這種框架利用名為Hibernate的數(shù)據(jù)庫(kù)中間件,把Groovy等腳本插件結(jié)合起來(lái)。Groovy本 身添加了眾多的動(dòng)態(tài)選項(xiàng)便于代碼解釋,同時(shí)可以直接鏈接至Java應(yīng)用編程接口(API)的任何部分。甚至不需要考慮Python或Ruby,因?yàn)?Groovy憑借一種精巧、現(xiàn)代的語(yǔ)法,讓Java編程員可以使用似乎變化無(wú)窮的龐大庫(kù)和底層穩(wěn)若磐石的虛擬機(jī)。走上移動(dòng)之路Java手機(jī)的數(shù)量(估計(jì)約26億部)委實(shí)驚人,因?yàn)槭忻嫔显S多最簡(jiǎn)單的手機(jī)里面都運(yùn)行Java平臺(tái)微型版(Java ME)。這讓W(xué)attpad.com等公司得以構(gòu)建在整個(gè)第三世界都能順暢運(yùn)行的文檔閱讀平臺(tái)。不過,運(yùn)行Java的智能電話數(shù)量相對(duì)少一點(diǎn)。iPhone的巨大成功激勵(lì)許多人重新學(xué)習(xí)Objective C,這門語(yǔ)言讓編程員對(duì)于內(nèi)存使用等一些系統(tǒng)問題提高了控制能力。Java為編程員隱藏了大部分底層問題,這是個(gè)優(yōu)點(diǎn),但前提是不需要管理內(nèi)存等資源,因 為要是垃圾收集出現(xiàn)一個(gè)小失誤,有些游戲就運(yùn)行不了??蛇z憾的是,因?yàn)殡姵乩m(xù)航時(shí)間是極其重要的一個(gè)因素,智能電話需要比幾乎其他任何平臺(tái)更嚴(yán)格的資源管 理。不過,Java編程員仍然很吃香,因?yàn)楹谳謾C(jī)在其新平臺(tái)上繼續(xù)采用Java ME:它為手機(jī)的情景模式(profile)添加了支持觸摸屏和方向感應(yīng)器的功能。而Android存在不可預(yù)知的因素。由于谷歌開放了Android的 使用,許多手機(jī)廠商搭上Android這輛彩車。谷歌的Android建立在開源Apache Harmony及其類上,而不是建立在Sun開發(fā)的Java開發(fā)工具包(JDK)和Java ME上。對(duì)使用Eclipse編寫代碼的人來(lái)說(shuō),它們看上去幾乎一模一樣。在其他許多情況下也無(wú)關(guān)緊要,因?yàn)锳ndroid開發(fā)使用了很多XML表單,但 如果這兩套開發(fā)框架離對(duì)方漸行漸遠(yuǎn),這種分裂可能會(huì)變成大問題。收復(fù)桌面陣地大多數(shù)人仍然認(rèn)為Java在桌面端從來(lái)沒有取得成功,這是過去。如今,Java正在緩慢而穩(wěn)步地滲入到現(xiàn)代操作系統(tǒng)的各個(gè)角落。雖然用Swing編 寫的標(biāo)準(zhǔn)應(yīng)用程序因試圖定位在每個(gè)平臺(tái)的最基本部分而繼續(xù)遭殃,但是有了像JavaFX和Web Start這些比較新的開發(fā)平臺(tái)和框架,就有可能通過Web有效地部署軟件。本地平臺(tái)可處理Java歸檔(JAR)的所有緩存工作。只要點(diǎn)擊鏈接,有時(shí)偶 爾隨后點(diǎn)擊幾下授予權(quán)限的對(duì)話框,軟件就可以安裝及更新,還可以隨時(shí)運(yùn)行。JavaFX仍然是一個(gè)名副其實(shí)的未知因素。圖形功能現(xiàn)在可與Adobe的Flash相競(jìng)爭(zhēng);計(jì)算引擎可支持大部分的Java API,但這門語(yǔ)言是一門奇怪的混合語(yǔ)言,融合了正宗Java、Javascript及其他的一些標(biāo)記語(yǔ)言。其代碼比正規(guī)的Java簡(jiǎn)單,所以Java編 程員又要學(xué)習(xí)新的東西。不過,對(duì)極具互動(dòng)性的桌面工具而言,新的動(dòng)畫類也許值得花時(shí)間學(xué)習(xí)。Web Start正在繼續(xù)慢慢改進(jìn)通過瀏覽器直接把軟件部署到桌面的功能。搶占嵌入式領(lǐng)域Java還在人們最預(yù)料不到的地方茁壯成長(zhǎng)。雖然C編程人員可能從來(lái)不會(huì)承認(rèn)Java虛擬機(jī)巧妙處理存儲(chǔ)區(qū)、快速運(yùn)行的功能,但Java在非智能手 機(jī)、機(jī)頂盒、嵌入式芯片、Kindle及其他低功耗設(shè)備取得的成功表明:Java虛擬機(jī)完全有能力在嵌入式應(yīng)用方面一展身手。Java的普及性還幫助編程 人員從大平臺(tái)遷移到小平臺(tái)。雖然為大型機(jī)開發(fā)企業(yè)級(jí)應(yīng)用軟件改成開發(fā)小型嵌入式代碼并不簡(jiǎn)單,但Java標(biāo)準(zhǔn)大大簡(jiǎn)化了這種轉(zhuǎn)變,這讓其他許多工具自嘆弗 如。Java程序包也在變得越來(lái)越小巧。戈斯林用塵埃來(lái)形容一臺(tái)硬幣大小、能夠識(shí)別Java的計(jì)算機(jī)。JavaCard是面向這類小型程序包的一種虛擬 機(jī)和API,它即將迎來(lái)3.0版,這個(gè)里程碑式版本將增添網(wǎng)絡(luò)連接功能。盡管這些小不點(diǎn)還沒有小得足以放入到人的眼睛中,但直接與互聯(lián)網(wǎng)通話的功能卻讓它 們顯得極具誘惑力。合作伙伴會(huì)分道揚(yáng)鑣?所有開發(fā)人員的最大擔(dān)心是:要是Oracle收購(gòu)Sun的交易塵埃落定,會(huì)出現(xiàn)什么樣的利益沖突變化?Oracle是靠收取大筆的軟件許可費(fèi)成長(zhǎng)壯 大,其軟件可運(yùn)行在客戶想要購(gòu)買的任何硬件上。而另一方面,Sun通常是免費(fèi)贈(zèng)送軟件,然后通過銷售服務(wù)器賺到一些錢。這些經(jīng)銷策略也許不會(huì)立即發(fā)生變 化,因?yàn)閼T性實(shí)在太太了,但誰(shuí)也不知道將來(lái)Oracle會(huì)做出怎樣的決策。一些人認(rèn)為,Oracle過去在收取大筆許可費(fèi)方面屢試不爽,只會(huì)鼓勵(lì)埃利森對(duì)Sun采取類似的手法。也許Oracle的銷售團(tuán)隊(duì)眼下就在垂涎這個(gè) 機(jī)會(huì):針對(duì)Java以前免費(fèi)的地方開始逐步提高許可費(fèi)。為了避免重新編寫Java平臺(tái)企業(yè)版(Java EE)應(yīng)用軟件,許多企業(yè)很可能寧可支付每個(gè)CPU 100美元、200美元甚至100萬(wàn)美元的費(fèi)用。批評(píng)人士指出,Oracle很容易開發(fā)出新版Java虛擬機(jī),針對(duì)不同的市場(chǎng)推出不同的性能級(jí)別。桌面虛擬機(jī)可能保持免費(fèi),Oracle甚至可能會(huì) 掏錢請(qǐng)電腦廠商來(lái)推銷Java和JavaFX,而處理極限多線程方面的性能改進(jìn)可能會(huì)收取非常高的費(fèi)用。從用戶身上撈錢有好多法子,許可費(fèi)相比之下往往便 宜得多:要是讓拒不服從的編程員先學(xué)習(xí)一門新語(yǔ)言,然后重新編寫代碼庫(kù),那成本高多了。但也有人認(rèn)為,Oracle也許不會(huì)采用這一招。一名接近Sleepycat(這家開源數(shù)據(jù)庫(kù)公司在2006年被Oracle收購(gòu))的消息人士表 示,Oracle已把技術(shù)隊(duì)伍的規(guī)模擴(kuò)大了約一倍,而所有雙許可模式原封不動(dòng)。軟件仍然采用開源或商業(yè)許可證這兩種形式。如果Oracle像 Sleepycat那樣對(duì)待Java,社區(qū)許可及其他方案仍然會(huì)跟以前一樣免費(fèi)、隨處可得,同時(shí)有更多的工程師來(lái)改進(jìn)代碼。與其他各大Java合作伙伴的長(zhǎng)期關(guān)系方面仍存在更深層的問題。谷歌繼續(xù)支持Apache Harmony,這個(gè)代碼超過125萬(wàn)行的項(xiàng)目似乎一心要破壞Sun作為世界中心的地位。IBM輸?shù)袅藸?zhēng)奪Sun的競(jìng)標(biāo)戰(zhàn),現(xiàn)在發(fā)現(xiàn)競(jìng)爭(zhēng)對(duì)手Oracle 的實(shí)力更強(qiáng)勁了。IBM設(shè)計(jì)了Eclipse開發(fā)工具,可能也會(huì)開始把Java平臺(tái)帶往另一個(gè)方向。其他合作伙伴的態(tài)度比較激烈。SAP公司首席技術(shù)官Vishal Sikka一再要求Sun發(fā)布Java社區(qū)進(jìn)程(JCP),著重提到了Oracle在2007年提出的方案:將控制權(quán)交由一家開放、獨(dú)立、與廠商中立的標(biāo) 準(zhǔn)組織,標(biāo)準(zhǔn)組織的所有成員在機(jī)會(huì)均等的前提下參與。雖然Oracle對(duì)相關(guān)細(xì)節(jié)基本保持緘默,但可以認(rèn)為,這家公司會(huì)因?yàn)閺腟un承襲過來(lái)的一些觀點(diǎn)而 重新贏得尊重。但是,盡管其他合作伙伴可能會(huì)參與恫嚇的舉動(dòng),但他們可能會(huì)考慮度的問題,因?yàn)榇蠹移鋵?shí)是相互牽制的,任何過激的行為都極可能會(huì)被阻止,因?yàn)榇蠹叶?認(rèn)識(shí)到一次編寫、到處運(yùn)行理念具有的優(yōu)勢(shì)。如果為Android手機(jī)編寫的代碼無(wú)法很容易地遷移至索尼藍(lán)光播放機(jī)或Glassfish服務(wù)器,另一門語(yǔ)言 就有機(jī)會(huì)應(yīng)運(yùn)而生。實(shí)際上已經(jīng)有多家公司在編寫工具包,讓用戶可以在iPhone上輕松運(yùn)行Ruby on Rails或Python軟件。另外,許多這些比較新的語(yǔ)言可能會(huì)成為不可小覷的競(jìng)爭(zhēng)對(duì)手,而暗斗過多只會(huì)幫助它們攻城掠地?,F(xiàn)在有幾十種非常好、知名度小一點(diǎn)的開源程序包,只要 忠實(shí)的愛好者稍加轉(zhuǎn)換,通常就能把它們移植到每個(gè)平臺(tái)上。比如,Python已經(jīng)是一些科學(xué)領(lǐng)域的主要語(yǔ)言,谷歌選擇Python、而不是Java作為其 應(yīng)用引擎(App Engine)支持的第一種語(yǔ)言。雖然IBM、Oracle和谷歌在爭(zhēng)奪主導(dǎo)權(quán)的競(jìng)爭(zhēng)中可能會(huì)相互排擠,但它們必須認(rèn)識(shí)到:所有人都受益于標(biāo)準(zhǔn)化,而不是 壟斷。要是誰(shuí)敢過于排擠別人、企圖一手控制Java,其他廠商可能會(huì)奔向其競(jìng)爭(zhēng)對(duì)手。Java也開應(yīng)用程序商店?Java代碼庫(kù)仍相當(dāng)有凝聚力、相對(duì)標(biāo)準(zhǔn)化,這個(gè)事實(shí)惹得眾人猜測(cè):Sun(如果合并案完成,還有Oracle)到底會(huì)怎樣利用Java的普及性來(lái) 大發(fā)其財(cái),又不提高許可費(fèi)、擠壓每個(gè)人?如果有人開發(fā)出一種面向整個(gè)Java生態(tài)系統(tǒng)的應(yīng)用程序商店(App Store),從而像銷售面向iPhone的應(yīng)用程序那樣銷售用Java編寫的小組件(widget)它們可以在桌面、手機(jī)、藍(lán)光播放機(jī)或可以使用 Java的其他任何平臺(tái)上運(yùn)行,將會(huì)怎么樣?最近已經(jīng)有了面向Android手機(jī)的一批數(shù)量可觀的應(yīng)用程序,Sun也在謀劃一家Java商店,好讓人們只需把應(yīng)用程序拖到桌面上,或者只要再編 一點(diǎn)代碼,就可以把各應(yīng)用程序結(jié)合起來(lái),從而讓它們可以在Java世界的幾乎每個(gè)角落里運(yùn)行。不過,處理截然不同的屏幕和用戶界面還是個(gè)挑戰(zhàn)。設(shè)想一下這種場(chǎng)景有多吸引人:開發(fā)人員編寫的某個(gè)應(yīng)用程序在Android手機(jī)上運(yùn)行著,他在辦公桌面上處理任務(wù),回到家后在客廳的藍(lán)光播放機(jī)上順 暢運(yùn)行。把Java應(yīng)用程序帶到坐沙發(fā)的人面前甚至有點(diǎn)出人意料,因?yàn)镴ava這門語(yǔ)言在被叫做Oak的早期階段,本意就是運(yùn)行在機(jī)頂盒上。這種遠(yuǎn)景將依賴 于Java平臺(tái)的最大優(yōu)點(diǎn):普及性和跨平臺(tái)的穩(wěn)定性,也許這些優(yōu)點(diǎn)會(huì)幫助Java給其發(fā)明者帶來(lái)滾滾收入。
熱門標(biāo)簽:語(yǔ)言
-
三峽適合修建水力發(fā)電站,也可以從《三峽》找出兩條理由,請(qǐng)用自己的語(yǔ)言概括,并寫出文中印證理由的原句2024-08-17
-
三峽適合修建水力發(fā)電站。用自己的語(yǔ)言概括,并寫出文中印證理由的原句2024-08-17
-
下面這段文字在標(biāo)點(diǎn)使用、語(yǔ)言結(jié)構(gòu)、用詞得體上各有一處不當(dāng),請(qǐng)加以修改。2024-08-17
-
我是漢語(yǔ)言文學(xué)專業(yè),女生,想了解如果進(jìn)葛洲壩集團(tuán)待遇怎樣?發(fā)展前景怎樣?招聘時(shí)說(shuō)要跟著項(xiàng)目走2024-08-17
-
風(fēng)力發(fā)電機(jī)設(shè)計(jì)軟件gh bladed 控制部分用什么語(yǔ)言?2024-08-17
-
運(yùn)用所學(xué)知識(shí)分析中國(guó)是如何應(yīng)對(duì)全球性的氣候問題(課本語(yǔ)言) 我是初三的2024-08-17
-
伊拉克的國(guó)土面積、人口、官方語(yǔ)言?2024-08-17
-
中國(guó)石油大學(xué)(華東)大一的C語(yǔ)言的作業(yè)好難做啊 考試會(huì)不會(huì)很難? 掛科的多么?2024-08-17
-
中國(guó)石油大學(xué)漢語(yǔ)言文學(xué)專業(yè)如何2024-08-17
-
端午日捉鴨子的場(chǎng)面續(xù)寫,要點(diǎn)面結(jié)合的寫作手法,語(yǔ)言優(yōu)美些,10分鐘內(nèi),好的我給20分,300字2024-08-17
-
中國(guó)石油大學(xué)和北京語(yǔ)言大學(xué)的會(huì)計(jì)專業(yè)哪個(gè)好?????2024-08-17
-
你想象中的“電腦住宅”是什么樣的?想一想,用自己的語(yǔ)言把它描述出來(lái)2024-08-17
-
什么是清潔生產(chǎn),為什么要開展清潔生產(chǎn),怎樣開展清潔生產(chǎn)?(用簡(jiǎn)單的易懂的語(yǔ)言說(shuō)明一下)2024-08-17
-
請(qǐng)問今年西安石油大學(xué)的漢語(yǔ)言文學(xué)專業(yè)在哪個(gè)校區(qū)?2024-08-17
-
要里開兒子出去工作又舍不得兒子的語(yǔ)言2024-08-17