日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
來(lái)自一年前的預(yù)測(cè):Java平臺(tái)與死亡相去甚遠(yuǎn)

在學(xué)生時(shí)代,我們可能會(huì)想起 Thomas Malthus 所做的預(yù)言,他認(rèn)為人類(lèi)賴(lài)以生存并繼而形成人類(lèi)文明的農(nóng)業(yè)體系,可能無(wú)法再承受人口數(shù)量的不斷攀升,另一方面,這種情況將不可避免地造成嚴(yán)重的后果,通常會(huì)引起巨大的災(zāi)難或其他自然災(zāi)害。他這樣寫(xiě)道:若對(duì)人口數(shù)量不加限制,將呈幾何級(jí)數(shù)增長(zhǎng)。而人們賴(lài)以生存的物質(zhì)則以代數(shù)級(jí)數(shù)增長(zhǎng)。與后者相比較,如果稍微了解一下這些數(shù)字,就會(huì)意識(shí)到人口增長(zhǎng)是多么驚人。這意味著,針對(duì)生存物質(zhì)的匱乏,需要對(duì)人口增長(zhǎng)進(jìn)行嚴(yán)格而持久的控制。物質(zhì)匱乏終究會(huì)發(fā)生在某些地方,并且必定會(huì)嚴(yán)重影響到大部分人類(lèi)。

創(chuàng)新互聯(lián)主營(yíng)子洲網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP開(kāi)發(fā),子洲h5微信小程序定制開(kāi)發(fā)搭建,子洲網(wǎng)站營(yíng)銷(xiāo)推廣歡迎子洲等地區(qū)企業(yè)咨詢(xún)

Thomas Malthus 在 1798 年發(fā)表了 “人口論”。從那時(shí)開(kāi)始,我們一直在等待著驗(yàn)證有關(guān)人口增長(zhǎng)的 “Malthusian 檢驗(yàn)”。

編程人員,特別是使用 Java 平臺(tái)和語(yǔ)言的人員,可能已經(jīng)注意到,隨著使用難度不斷增加,人們的種種預(yù)測(cè)和統(tǒng)計(jì)暗示著他們所選擇的平臺(tái)即將沒(méi)落。而大量候補(bǔ)接任者躍躍欲試:人們提名 .NET、Ruby 甚至是 Python 作為 “下一代重要技術(shù)”。

這兩種 “Malthusian 學(xué)說(shuō)” 之間存在著驚人的相似之處。

Malthus 認(rèn)為,由于食物對(duì)人類(lèi)的生存非常重要,而地球的產(chǎn)出有限,并且繁殖所需的生物體系是不會(huì)改變的,我們終將達(dá)到一個(gè)極限,那時(shí)地球?qū)o(wú)法承受人口負(fù)擔(dān)。換句話說(shuō),如果繼續(xù)以現(xiàn)在這樣的方式生存,將注定滅亡的結(jié)局。那么在 1798,很難推翻 Malthus 的學(xué)說(shuō)。

同樣,在過(guò)去十八個(gè)月中,Java 社區(qū)出現(xiàn)了一種新趨勢(shì):即預(yù)測(cè) Java平臺(tái)的消亡日期。從一些低級(jí)的新聞雜志將其稱(chēng)為 90 年代的技術(shù),到夸大其辭的技術(shù)演講者宣傳它的現(xiàn)狀,再到各種書(shū)籍宣稱(chēng)我們正在 “超越” Java 時(shí)代,不難發(fā)現(xiàn)一點(diǎn):通過(guò)合理的暗示、代碼演示、邏輯或統(tǒng)計(jì)性說(shuō)明,Java 正在走向沒(méi)落。

Malthus 忽略的是那個(gè)時(shí)候正興起的工業(yè)革命。在 Malthus 一生中,他能夠目睹到人類(lèi)農(nóng)業(yè)生產(chǎn)力的巨大飛躍,這要感謝蒸汽機(jī)和軋棉機(jī)這些發(fā)明。這些發(fā)明為他的學(xué)說(shuō)提供了必然的“缺少的一環(huán)(missing link)”,它們使糧食產(chǎn)量成倍增長(zhǎng),從而使農(nóng)業(yè)系統(tǒng)能夠擬制由“兩性激情”制造的沉重的人口負(fù)擔(dān) 。隨后,人口控制方面的技術(shù)創(chuàng)新對(duì)降低人口增長(zhǎng)起到了相同的作用,減輕了人口負(fù)擔(dān),從而造成了很多西方國(guó)家出現(xiàn)人口負(fù) 增長(zhǎng),因此情況與 Malthus 的相當(dāng)合理的邏輯完全相悖。而所有這一切在 Malthus 撰寫(xiě)其論文時(shí)是無(wú)法預(yù)見(jiàn)的,使人類(lèi)能夠超過(guò)他所預(yù)測(cè)的農(nóng)業(yè)系統(tǒng)的承受極限而繼續(xù)存活,并且避免了由此而來(lái)的一系列災(zāi)難。

而技術(shù)批評(píng)家所忽略的則是 Java 虛擬機(jī)的替代語(yǔ)言的興起引發(fā)了巨大的變化。不過(guò)不要輕易相信我的一家之言,讓我們逐一查看支持這種說(shuō)法的論證,看看它們是否站得住腳。

Malthusian 式的 Java 預(yù)測(cè)

一些人僅僅引用了一些統(tǒng)計(jì)性描述,說(shuō)明 Java 不再是程序員中最重視的語(yǔ)言,就簡(jiǎn)單的判定 Java 已經(jīng)在走下坡路。其他人指出 Java 缺乏其替代環(huán)境所提供的某些特殊特性,這些特性被標(biāo)榜為用戶(hù)及其應(yīng)用程序的 “需求”。還有一些人發(fā)表(毫無(wú)事實(shí)依據(jù))諸如 “大企業(yè)不會(huì)再使用 Java” 等言論,從而明確地暗示,如果大企業(yè)不使用 Java,那必定是因?yàn)檫@種技術(shù)不值得使用。

Java 語(yǔ)言,從更大的程度來(lái)講,Java 平臺(tái)及其生態(tài)系統(tǒng),很早以前就超過(guò)了 Simon Peyton-Jones 所謂的 “生存閾值(The Threshold of Immortality)”,就像 C++、C、COBOL 和其他語(yǔ)言所經(jīng)歷的一樣。這些工具幾乎可以永遠(yuǎn)存在下去,這是因?yàn)樗鼈儗⒗^續(xù)提供有用的功能,或者是因?yàn)橹貙?xiě)代碼的嘗試可能要比繼續(xù)按原樣使用和維護(hù)系統(tǒng)付出更多的代價(jià)(有關(guān)特定語(yǔ)言或系統(tǒng)究竟屬于這兩個(gè)原因的哪一種,存在很多的爭(zhēng)議,而這對(duì)于本文的目的則無(wú)關(guān)緊要)。

另一個(gè)論據(jù)讓所有聰明人都放棄 Java 而轉(zhuǎn)向平臺(tái) X 或語(yǔ)言 Y。在 2005 年的一篇 BusinessWeek 文章 “Java? It's So Nineties”中,引用了很久以前就倒閉的應(yīng)用服務(wù)器公司 NetDynamics 的前 CTO Peter Yared 的話,“Java 像恐龍一樣古老”??墒?,還未來(lái)得及搞清楚利益沖突和推理邏輯,這篇文章就寫(xiě)到 Yared 所有的公司正在嘗試在 LAMP(Linux?/Apache/MySQL/P-language)棧之上重新創(chuàng)建應(yīng)用服務(wù)器體驗(yàn)。

(這樣做可能有些無(wú)禮,但我還是要指出 Ruby 的構(gòu)想實(shí)際上早于 Java,同樣還包括 Perl 和 Python,更不要說(shuō) Linux、Apache 和 MySQL……這里我就不便再多做解釋了)。

引用我喜歡的一部電影,“生活是痛苦的,殿下。持不同觀點(diǎn)的人一定有所企圖”。或者,為了更恰當(dāng)?shù)亟忉屵@個(gè)主題,可以這樣說(shuō):“過(guò)渡到一個(gè)新的平臺(tái)是痛苦的,CTO 先生。持不同觀點(diǎn)的人一定有所企圖”。也許并不令人驚訝,對(duì)于一些已經(jīng)重新定位到其他技術(shù)領(lǐng)域的 Java 專(zhuān)家來(lái)說(shuō),情況確實(shí)如此。

來(lái)看看另一個(gè)論據(jù),它說(shuō) “Java 的***語(yǔ)言的位置已經(jīng)不保,因此它的衰退必定非常悲慘,因此***避開(kāi)這場(chǎng)災(zāi)難”。這種論據(jù)所依據(jù)的是一個(gè)最基本的前提,即如果 Java 不再是世界上最暢銷(xiāo)的技術(shù),則不值得再提供該語(yǔ)言的支持。而這種說(shuō)法若經(jīng)過(guò)邏輯推理,則根本毫無(wú)道理。

統(tǒng)計(jì)信息很久以來(lái)一直被認(rèn)為是不可靠的(如果使用不當(dāng)?shù)脑挘?,正?Benjamin Disraeli 的巧妙解釋?zhuān)f(shuō):“世界上有三種謊言:謊言,詛咒和統(tǒng)計(jì)”。統(tǒng)計(jì)信息可以用來(lái)論證最靠不住腳的論據(jù),只需要根據(jù)論據(jù)仔細(xì)挑選所需的統(tǒng)計(jì)信息。注意 BusinessWeek 一文中使用的引用:“調(diào)查……顯示 Java 的使用逐漸沒(méi)落,而 LAMP 和 Microsoft 的 .NET 技術(shù)勢(shì)頭強(qiáng)勁”。喔,聽(tīng)上去情況不妙。但是,請(qǐng)繼續(xù)讀下去,“根據(jù) Evans 的秋季調(diào)查顯示,在北美使用 Java 作為其***編程語(yǔ)言的開(kāi)發(fā)人員的比例已下降到 47.9%,而 2002 年秋為 51.4%”。因此,在過(guò)去六年中,在使用 Java 作為其*** 編程語(yǔ)言的開(kāi)發(fā)人員中,使用率下降了 3.5 個(gè)百分點(diǎn)。

請(qǐng)注意,這里使用了 “***” 編程語(yǔ)言一詞,這意味著開(kāi)發(fā)人員自己需要區(qū)別什么是他們的 “***” 語(yǔ)言??紤]到大量的 XML 配置,使用 Spring/Hibernate/JSP Java 棧的開(kāi)發(fā)人員可能可以很好地判斷出 Java 不再是他們的***語(yǔ)言。

注意過(guò)去六年中 Java 平臺(tái)之上興起的動(dòng)態(tài)語(yǔ)言(Jython、JRuby、Groovy 甚至是 JavaFX),根據(jù)我和我的同事(“No Fluff Just Stuff” 的演講者)在 NFJS 活動(dòng)的非正式投票中獲得的應(yīng)用數(shù)字,這些動(dòng)態(tài)語(yǔ)言可以很輕松地解釋這三個(gè)百分點(diǎn)的下降。

考慮同樣摘取自同一篇文章的引用:“在另一份調(diào)查中,今天秋季,PHP 在北美的采用已經(jīng)上升到 36.1%,而 2002 年同期為 26%。其增長(zhǎng)速率幾乎和歐洲和亞洲一樣快”。考慮到這是一個(gè)不同的調(diào)查系列,它只是為了顯示 PHP 的增長(zhǎng),而不是 Java 市場(chǎng)的萎縮。祝賀 PHP,但是任何研究過(guò)企業(yè)環(huán)境的開(kāi)發(fā)人員都可以證明,生產(chǎn)軟件部署并不像這篇文章的作者力圖暗示的那樣是一個(gè)零和(zero-sum)游戲。大型 IT 環(huán)境通常由種類(lèi)繁多的工具、平臺(tái)、語(yǔ)言和產(chǎn)品組成。事實(shí)上,我們幾乎可以在這里實(shí)現(xiàn) 整合,特別是那些大型機(jī)組件。

談到主機(jī),事實(shí)上,COBOL 在幾十年前就不再是最重要的語(yǔ)言了,但是,它現(xiàn)在仍然繼續(xù)用于現(xiàn)金支付、轉(zhuǎn)移存款、支付信用卡等業(yè)務(wù)并運(yùn)行主要的金融網(wǎng)絡(luò),盡管很多行業(yè)權(quán)威早已經(jīng)宣布了它的 “死亡”。對(duì)于本應(yīng)在墳?zāi)估锔癄€的技術(shù),這實(shí)在是不錯(cuò);這使我想起 Mark Twain,當(dāng)他看到家鄉(xiāng)報(bào)紙上他的訃告時(shí)說(shuō):“先生們,關(guān)于我死亡的報(bào)道被嚴(yán)重夸大了?!?/p>

然而,撇開(kāi)統(tǒng)計(jì)數(shù)字的問(wèn)題不談,第二個(gè)問(wèn)題更嚴(yán)重:為什么僅僅因?yàn)樗x的工具不是***的就棄而不用?Java 占據(jù)軟件開(kāi)發(fā)的首要地位近十年,僅僅由于它 “下降” 到第二位,游戲就結(jié)束了?甚至認(rèn)為僅僅因?yàn)槿藗兊亩栊跃蜁?huì)阻止 Java 重新恢復(fù)首要語(yǔ)言的位置,事實(shí)是,10 個(gè)程序員里面有 4 個(gè)會(huì)繼續(xù)使用這種語(yǔ)言,這將保證 Java 在未來(lái)幾十年里仍然保持活躍的生命力。更荒謬的說(shuō)法是,Java 的增長(zhǎng)將面臨急剎車(chē),并且再也不會(huì)出現(xiàn) Java 部署,然而,Java 目前在整個(gè)行業(yè)內(nèi)得到了廣泛的部署,這可以保證 Java 繼續(xù)出現(xiàn)相當(dāng)長(zhǎng)的時(shí)間。

盡管 COBOL 被宣布已經(jīng)死亡,但是要求使用它的人每年達(dá)到 6 至 7 位數(shù)。

檢查證據(jù)

然而指出一個(gè)論點(diǎn)的缺點(diǎn)并不能證明另一個(gè)觀點(diǎn),對(duì)于本文也是一樣的。相反地,我們應(yīng)該用批評(píng)的眼光看待 Java 語(yǔ)言和平臺(tái),而其強(qiáng)項(xiàng)和劣勢(shì)經(jīng)受住了嚴(yán)格的分析。Java 之所以長(zhǎng)壽在于它能滿(mǎn)足未來(lái)十年的需求,而不是由任何作者或批評(píng)家來(lái)決定它的生死。

***,我們考慮一下構(gòu)成 Java平臺(tái)的那些組件:

Java 編程語(yǔ)言。坦率地講,這是平臺(tái)中最能體現(xiàn)其長(zhǎng)壽的部分,特別是與一些諸如 C#、Groovy、(j)Ruby 或 Scala 等更 “現(xiàn)代的” 語(yǔ)言比較時(shí)。近來(lái)涌現(xiàn)出大量關(guān)于改善該語(yǔ)言的建議,諸如為該語(yǔ)言添加閉包等***競(jìng)爭(zhēng)力的提議,證明了程序員非??释?Java 能夠具備其他語(yǔ)言的一些特性。然而,Java 5 中***語(yǔ)言增強(qiáng)功能所帶來(lái)的聯(lián)合成功應(yīng)該成為所有新的重大語(yǔ)言變更的“注意剎車(chē)”的提示。某些增強(qiáng),比如 for 循環(huán)或注釋?zhuān)玫剑ㄏ鄬?duì))普遍的支持。然而其他一些增強(qiáng),比如泛型,則受到(相對(duì))普遍的嘲笑和批評(píng)。事實(shí)是沒(méi)有任何一種語(yǔ)言功能能得到它本應(yīng)幫助的開(kāi)發(fā)人員社區(qū)的普遍接受,這個(gè)事實(shí)告訴我們:為一個(gè)已存在十年多的語(yǔ)言添加新的語(yǔ)言特性是很棘手的事情,如果完成,也很可能會(huì)導(dǎo)致語(yǔ)言自身的崩潰。在 Java 平臺(tái)的地圖中,這個(gè)區(qū)域標(biāo)注著“老水手”的警告:“此處有怪物!”

非 Java JVM 編程語(yǔ)言。在 Java 止步不前的地方,其他語(yǔ)言提供改進(jìn)和增強(qiáng)的解決方法。Groovy 圍繞 Java 對(duì)象提供了一個(gè)動(dòng)態(tài)、客觀的腳本解決方案。(j)Ruby 在 JVM 之上提供 Ruby 實(shí)現(xiàn),為 Java 程序員開(kāi)辟了 Rails 和 ActiveRecordoffers 的世界。Scala 和 Jaskell 給 JVM 引入了函數(shù)編程概念,為所出現(xiàn)的并發(fā)性問(wèn)題提供可行的解決方案。諸如此類(lèi)。由于所有這些語(yǔ)言要么編譯成字節(jié)碼,要么通過(guò) javax.script API 作為解釋語(yǔ)言在 JVM 上運(yùn)行,因此 Java 生態(tài)系統(tǒng)的所有財(cái)富都是可以利用的——而這是 Ruby 開(kāi)發(fā)人員無(wú)法做出同等聲明的一個(gè)方面。在 Java 平臺(tái)的地圖中,這個(gè)區(qū)域被標(biāo)注為“機(jī)遇之國(guó)”。

Java 虛擬機(jī)。 幸運(yùn)的是,Java 語(yǔ)言已經(jīng)做出了重大修訂和根本性的變化,而 JVM 作為 Java 平臺(tái)的底層基礎(chǔ),變化并不多。近來(lái),在博客世界中,許多人建議使 JVM 對(duì)動(dòng)態(tài)語(yǔ)言更友好,這使 Sun 公司的一名工程師(John Rose)提供了 JVM 的修訂版,最初稱(chēng)為多語(yǔ)言虛擬機(jī)( Multi-language virtual machine,MLVM), 現(xiàn)改名為 Da Vinci Machine(因?yàn)榫o密地包裝在代碼中)。此處的關(guān)鍵在于被提議的 JVM 更改要避免任何有可能使 Sun 公司在 JVM 優(yōu)化上的龐大投資作廢的事件。那些提出建議的人在設(shè)計(jì)細(xì)節(jié)時(shí)一直將這一點(diǎn)牢記于心。

Java Standard Edition 庫(kù)。 Java Standard Edition 附帶了巨大的函數(shù)集,數(shù)量級(jí)比 C++ 標(biāo)準(zhǔn)庫(kù)更大,甚至許多因素比它前身 Java 1.0 都大,并且這還沒(méi)有考慮 Enterprise Edition 庫(kù)(接下來(lái)討論)。表面上,這看起來(lái)像 Java 開(kāi)發(fā)人員的自然優(yōu)勢(shì),但仔細(xì)考慮就會(huì)發(fā)現(xiàn)一些細(xì)微的問(wèn)題。對(duì)初學(xué)者而言,庫(kù)的龐大意味著許多 Java 開(kāi)發(fā)人員認(rèn)識(shí)不到他們?cè)趯?xiě)一些實(shí)際已經(jīng)存在的代碼,這些代碼收藏在一個(gè)在此之前未知的包中。根據(jù)存在時(shí)間的不同,庫(kù)本身有時(shí)也會(huì)遇到 API 設(shè)計(jì)時(shí)間的煩惱,其中有許多 都源于 90 年代中期,那個(gè)時(shí)候開(kāi)發(fā)人員設(shè)計(jì)類(lèi)和庫(kù)的方式與 2008 年的設(shè)計(jì)方法截然不同。一部分開(kāi)發(fā)人員也深受抽象過(guò)多之苦,正如創(chuàng)建對(duì)象構(gòu)建者的工廠所例證的一樣,這些對(duì)象構(gòu)建者創(chuàng)建的接口實(shí)例不一定能實(shí)現(xiàn)開(kāi)發(fā)人員感興趣的方法。然而,雖然 JSE 庫(kù)有缺陷,但從整體來(lái)說(shuō) JSE 依然有優(yōu)勢(shì),尤其是當(dāng)它與像 Groovy 提供給 JDK 的擴(kuò)展(稱(chēng)為 GDK)這樣的語(yǔ)言支持增強(qiáng)結(jié)合時(shí)。

Java Enterprise Edition 庫(kù)。 沒(méi)有任何技術(shù)能夠比 EJB 對(duì)其社區(qū)產(chǎn)生更大的沖擊,并且幸運(yùn)的是,Java 社區(qū)看到了輕量級(jí)替代方案的興起,Spring 和 Hibernate 提供了***的例證,對(duì)這些場(chǎng)景來(lái)說(shuō),輕量級(jí)替代方案是理想選擇。然而,如果暫時(shí)不考慮 EJB,Java EE 庫(kù)就是非常成功的 — servlets 和 servlet 容器為遍及 Internet 和企業(yè)內(nèi)部網(wǎng)的大量 Web 應(yīng)用程序提供動(dòng)力,JMS 提供對(duì)多種面向消息中間件系統(tǒng)的訪問(wèn),JEE 領(lǐng)域中其他不太老牌的參與者(如 JNDI) 毫無(wú)怨言地執(zhí)行自己相應(yīng)的任務(wù)。JEE 庫(kù)很有可能受益于 API 重新設(shè)計(jì),JSE 庫(kù)就是這樣,總體來(lái)說(shuō) JEE 庫(kù)將滿(mǎn)足 Java 程序員的需要。***的問(wèn)題往往在于認(rèn)識(shí)何時(shí)首先需要 JEE 庫(kù)。我們將在另一篇文章中討論相關(guān)內(nèi)容。

Java-API-for-XML (JAX) 庫(kù)。 盡管名義上是 JEE 庫(kù)的一部分,但 JAX API 的數(shù)量和規(guī)模都在以與 JEE 其他部分不相稱(chēng)的速率增長(zhǎng),值得脫離 JEE 的上下文來(lái)考慮 JAX API。在近十年,盡管對(duì) XML 支持的需求是巨大并且普遍的,但目前已經(jīng)有所緩解,尤其是 Web services (WS-*) 周邊領(lǐng)域和規(guī)范陣營(yíng)(這些規(guī)范允許與其他技術(shù)之間實(shí)現(xiàn)普遍、輕松的互操作,包括 .NET)。在這里,Java 無(wú)疑需要某種類(lèi)型的修訂,由于 SAX、DOM 和 StAX API 經(jīng)常需要更多的代碼來(lái)完成重要任務(wù),尤其是和具有更靈活的 XML 支持的語(yǔ)言相比時(shí),比如 E4X、Ruby 或 Scala。此處,以 XML 為中心的思想有了明顯的改變,從早期的 WS-* 實(shí)現(xiàn)中“不接觸 XML”到基于 RESTful 方法的“我希望直接接觸 XML 并將其定址為形式良好、有意義的 URI”,這種方法也強(qiáng)調(diào)了 JAX 領(lǐng)域內(nèi)重構(gòu)的必要性。在 Java 世界的地圖中,這個(gè)區(qū)域被標(biāo)注為“(應(yīng)該)棄用的”。

客戶(hù)端 Java。Sun 公司最近修訂的“Java客戶(hù)端”系統(tǒng)的測(cè)試版有個(gè)相當(dāng)糟糕的名字 “Java SE 6 Update 10 Beta”,它提供了增強(qiáng)的客戶(hù)端特性,包括新的 Swing 外觀,稱(chēng)為 Nimbus。遺憾的是,在客戶(hù)端度量 Java 的使用一直都存在問(wèn)題,主要是因?yàn)閷?zhuān)門(mén)用于度量的 applet 在 Internet 上已經(jīng)使用了很長(zhǎng)一段時(shí)間,還因?yàn)楸姸鄬?duì) Web 托管應(yīng)用程序的設(shè)計(jì)和架構(gòu)關(guān)注點(diǎn)都以 HTML 的生成為中心,而不是生成現(xiàn)在所說(shuō)的“富客戶(hù)端”應(yīng)用程序。隨著采用速率的提高,Java 要經(jīng)過(guò)漫長(zhǎng)的旅程,追趕它在這個(gè)領(lǐng)域中的主要競(jìng)爭(zhēng)對(duì)手,F(xiàn)lash 和微軟在該領(lǐng)域新引入的技術(shù) Silverlight 使情況變得更加復(fù)雜。Java 可能也會(huì)徹底失去陣地,這并不代表著這種平臺(tái)的“消亡”,但會(huì)使問(wèn)題惡化,當(dāng)業(yè)內(nèi)學(xué)者和商業(yè)雜志將其稱(chēng)為“Java 技術(shù)弱點(diǎn)的明顯例證”時(shí),一定要鼓舞自己!

服務(wù)器端 Java。 這實(shí)在不容爭(zhēng)議:Java 毫無(wú)疑問(wèn)是服務(wù)器領(lǐng)域內(nèi)既定的參與者,特別是在查看非 Windows? 后端系統(tǒng)環(huán)境的選項(xiàng)時(shí)。LAMP 系列產(chǎn)品可能提供一個(gè)前端或垂直豎井的替代方案,包括 Ruby on Rails 也是一樣,但觀察重要的服務(wù)器計(jì)算基礎(chǔ)設(shè)施時(shí),Java 系列產(chǎn)品將占據(jù)顯著的位置。事實(shí)上,正是這種領(lǐng)先地位促使微軟***積極地尋求 WS-* 規(guī)范,以使 .NET 代碼至少能調(diào)用和配合既定的 Java 基礎(chǔ)設(shè)施。微軟最近認(rèn)可了使互操作性向更正式的水平發(fā)展,他們?cè)趧虼髮W(xué)設(shè)立的“Interoperability Lab”也體現(xiàn)了這一點(diǎn)。

生態(tài)系統(tǒng)。 沒(méi)有其他的平臺(tái)擁有像 Java 平臺(tái)一樣如此豐富多樣的生態(tài)系統(tǒng),然而這經(jīng)常會(huì)給 Java 開(kāi)發(fā)人員帶來(lái)一些麻煩(“我該使用哪種 Web 框架?”),事實(shí)上,很多 Java 生態(tài)系統(tǒng)都滲入其他環(huán)境,尤其是.NET??紤] .NET 近來(lái)在微軟內(nèi)外獲得的進(jìn)步:ObjectBuilder(依賴(lài)性注入框架)、ASP MVC(基于 MVC 的 Web 框架)、NHibernate(Hibernate 的一部分)、NAnt 和 MSBuild(在句法或概念上與 Ant 相似的基于 XML 的構(gòu)建系統(tǒng))甚至 Silverlight 本身(在瀏覽器內(nèi)部托管 CLR,允許執(zhí)行更豐富的客戶(hù)端)。在許多方面,.NET 生態(tài)系統(tǒng)為 Java 社區(qū)做了將近五年的后盾,因?yàn)?.NET 開(kāi)發(fā)人員發(fā)現(xiàn)了與 Java 開(kāi)發(fā)人員在五年前遭遇的相同痛點(diǎn)。而 Java 仍然堅(jiān)持向 .NET 社區(qū)學(xué)習(xí)(比如統(tǒng)一通信 API 的有用性或顯式輕量級(jí)工作流引擎的強(qiáng)大力量)。這只用來(lái)說(shuō)明這些環(huán)境都正在互相學(xué)習(xí)這一事實(shí),而且也表明,.NET 并沒(méi)有使 Java 成為不必要的能力。

毫無(wú)疑問(wèn),Java 開(kāi)發(fā)人員可以將他們自己的條目添加到這個(gè)列表中,證明這個(gè)論點(diǎn):在 Java 平臺(tái)中留有太多的優(yōu)良的東西被認(rèn)為“死亡了”或“將要死亡”或者甚至在“崩潰的邊緣”。

王者終將歸來(lái)

最簡(jiǎn)單的事實(shí)是:Java、平臺(tái)、生態(tài)系統(tǒng)、環(huán)境和開(kāi)發(fā)社區(qū)與死亡相去甚遠(yuǎn),至少和目前正在使用的其他語(yǔ)言或平臺(tái)距離一樣遠(yuǎn)。即使是最嚴(yán)格的統(tǒng)計(jì)事實(shí)篩選也不能否認(rèn) Java 的領(lǐng)先地位。

此外,即使 Sun Microsystems 公司倒閉,平臺(tái)也不會(huì)消亡。全世界的 Java 開(kāi)發(fā)人員,聯(lián)合起來(lái)!不要懼怕束縛的鐵鏈:最終您將看到,這些鐵鏈其實(shí)并不存在。多虧 Java 平臺(tái)的開(kāi)源,它現(xiàn)在被稱(chēng)為 OpenJDK,更不要說(shuō) Java 的其他開(kāi)源“凈室(clean room)”實(shí)現(xiàn)(Apache Harmony 和 Soy Latte 只是其中之二),即使 Sun 公司徹底從地球上消失,包括 IBM、Apache、BEA 和 Oracle 在內(nèi)的其他實(shí)體也能繼續(xù)提供 JVM、庫(kù)和工具,來(lái)支持整體生態(tài)系統(tǒng)。

Java 總有一天會(huì)消亡?絕對(duì)會(huì)的,但是我堅(jiān)信 Java 的壽命會(huì)超過(guò)今天的程序員所使用的大部分語(yǔ)言,正如 COBOL 做到的那樣。它甚至能比剛剛走出大學(xué)校園的第二代 Java 程序員走的更長(zhǎng)。

“恐龍”,確實(shí)如此。

本文來(lái)自IBMDW中國(guó):《COBOL 式死亡》。

【相關(guān)閱讀】

  1. 多核時(shí)代考驗(yàn)Java代碼編寫(xiě)習(xí)慣
  2. Java EE 6新特性嘗鮮:EJB 3.1重要變化總覽
  3. Java語(yǔ)言將淡出 JVM寶座爭(zhēng)奪戰(zhàn)預(yù)熱
  4. 十大理由證明Java正在老去
  5. 老驥伏櫪 COBOL語(yǔ)言走過(guò)五十年

分享題目:來(lái)自一年前的預(yù)測(cè):Java平臺(tái)與死亡相去甚遠(yuǎn)
標(biāo)題路徑:http://www.5511xx.com/article/cdhdoos.html