2001年11月,IBM 把Eclipse 捐獻(xiàn)給了開(kāi)源社區(qū)。2006年的今天,Eclipse度過(guò)了它的五歲生日。可喜可賀……
今天的Eclipse社區(qū)空前活躍,而Eclipse 也獨(dú)占鰲頭——逐漸成為Java開(kāi)發(fā)環(huán)境中最主流、市場(chǎng)份額占有最多、功能最強(qiáng)大以及插件最豐富的IDE。另外Rails愛(ài)好者經(jīng)常使用的IDE之一的RadRails也是基于Eclipse的。
今天的Eclipse 隨著Java 開(kāi)發(fā)人員一起成長(zhǎng)而來(lái),而廣大的Java 開(kāi)發(fā)者們也見(jiàn)證了Eclipse的發(fā)展歷程。
2001年11月,Eclipse 1.0 發(fā)布,開(kāi)源。
2003年4月,Eclipse 2.1 發(fā)布,雖然大受歡迎但插件模型仍然是靜態(tài)的。
2004年6月,Eclipse 3.0 正式發(fā)布,真正成為一個(gè)完美的、可擴(kuò)展的開(kāi)發(fā)環(huán)境。此時(shí)Java開(kāi)發(fā)人員已經(jīng)達(dá)到300萬(wàn)。
2005年6月,Eclipse 3.1 發(fā)布,30天達(dá)到100萬(wàn)下載量。而此時(shí)全世界有大約450萬(wàn)名開(kāi)發(fā)者正在使用Java 技術(shù)。
2006 年1月,Eclipse 國(guó)際高峰論壇首次登陸中國(guó)。
2006 年7月,Eclipse 3.2 正式發(fā)布,成就新里程碑……
總結(jié)一下圍繞Eclipse 的幾大熱點(diǎn):
一、Java IDE 之爭(zhēng)
二。開(kāi)發(fā)工具王者比拼:.NET單挑J2EE
在Eclipse IDE出現(xiàn)之前,Java開(kāi)發(fā)工具主要是面向Swing(Java圖形化工具)的,那時(shí)候他們很難與微軟的Visual Studio一爭(zhēng)高低,但是Eclipse IDE的出現(xiàn)徹底改變了這種狀況。
下面筆者將按一些重要的開(kāi)發(fā)相關(guān)分類,來(lái)比較當(dāng)前這兩個(gè)最具代表性的開(kāi)發(fā)工具,看一下在每一個(gè)分類中他們誰(shuí)究竟要更強(qiáng)大一些。
1、核心開(kāi)發(fā)環(huán)境
比較項(xiàng)目:語(yǔ)法高亮、錯(cuò)誤預(yù)防、代碼重構(gòu)、代碼援助(code assist)、編譯、運(yùn)行、調(diào)試
獲勝者:Eclipse
Eclipse是一個(gè)強(qiáng)大的怪獸。它具有令人難以置信的智能代碼援助(code assist)、豐富的代碼重構(gòu)功能、錯(cuò)誤預(yù)防和“代碼修正”建議,同時(shí)還具有非常強(qiáng)大的調(diào)試器,可以說(shuō)在每一個(gè)功能上都打敗了Visual Studio。無(wú)論是Visual Studio 2005還是Visual Studio Express,都稱的上一個(gè)非常好的集成開(kāi)發(fā)環(huán)境(IDE),在Eclipse支持的所有功能中,它也同樣支持很多。但是在Visual Studio中沒(méi)有一個(gè)功能,能像Eclipse中那樣強(qiáng)大和專業(yè)。因此,在這個(gè)分類中,我把獲勝者定位Eclipse。
2、綜合開(kāi)發(fā)
比較項(xiàng)目:數(shù)據(jù)庫(kù)、系統(tǒng)集成、web部署
獲勝者:Visual Studio
我知道,感覺(jué)這個(gè)分類就像是在騙人,因?yàn)閂istual Studio只支持與基于Windows的產(chǎn)品配合使用,但是Visual Studio與這些產(chǎn)品配合的如此天衣無(wú)縫,我必須承認(rèn)來(lái)自微軟的Visual Studio占據(jù)了優(yōu)勢(shì)。在Visual Studio中創(chuàng)建SQL Server支持的BizTalk、ASP.NET或C#解決方案如此容易,集成的如此好,產(chǎn)品間的差別如同完全透明一樣。Eclipse和他的商業(yè)伙伴之間也有非常好的各種開(kāi)發(fā)模型以實(shí)現(xiàn)互相支持,盡管他們也可以比較好的配合使用,但是不像Visual Studio中那么渾然一體。
3、源程序控制和配置管理(SCM)
如同上面一類,Visual Studio在這一方面可以很輕松的實(shí)現(xiàn)。他可以與大部分運(yùn)行于Windows上的工具配合使用,其他廠商具有對(duì)其良好的支持。但是,Eclipse可以與幾乎所有支持平臺(tái)上的所有SCM廠商配套使用,而且配合的非常好。最重要的是,它可以與兩個(gè)可能是最重要的開(kāi)源相關(guān)的SCM產(chǎn)品完全整合,即Subversion和CVS,這兩個(gè)工具已經(jīng)被數(shù)千個(gè)商業(yè)和開(kāi)源項(xiàng)目所使用,因此我沒(méi)有理由不宣布:
獲勝者:Eclipse
4、軟件質(zhì)量和測(cè)試
測(cè)試對(duì)于保證軟件開(kāi)發(fā)質(zhì)量有著非常重要的作用,Eclipse內(nèi)置對(duì)JUnit單元測(cè)試的支持,測(cè)試首要的開(kāi)發(fā)體系和代碼錯(cuò)誤預(yù)防是Eclipse平臺(tái)不可或缺的功能。它內(nèi)置對(duì)JUnit(包括JUnit 4或TestNG插件)的支持,使得測(cè)試非常容易且非常自然。Eclipse還非常善于檢測(cè)潛在的錯(cuò)誤(例如self assigning class properties in setter methods),代碼格式問(wèn)題和修補(bǔ)建議。不過(guò),在Web服務(wù)測(cè)試方面,Visual Studio要超過(guò)Eclipse,在Visual Studio中測(cè)試Web服務(wù)非常容易和簡(jiǎn)單,這是這個(gè)工具中我最喜歡的功能之一,甚至在其免費(fèi)版的Express版中也支持該功能。
獲勝者:Eclipse
5、建立和部署
這是比較難判斷的一項(xiàng)。.NET作為框架比J2EE更加容易部署,但是同時(shí)也給我們的比較工作帶來(lái)了困難,很難在部署過(guò)程中來(lái)比較這兩個(gè)工具。由于Eclipse內(nèi)置了對(duì)ANT創(chuàng)建工具的支持,和對(duì)基于“熱”部署的類加載器的支持,所以可以很好的部署J2EE應(yīng)用程序。但是Visual Studio的部署能力同樣根本不需要你擔(dān)心,它可以完全控制目標(biāo)部署服務(wù)器,可能是IIS,SQL Server或BizTalk。
獲勝者:平局
總獲勝者:Eclipse
Eclipse如此強(qiáng)大,以致于業(yè)界的任何其他IDE工具都不能對(duì)其構(gòu)成威脅,包括Visual Studio。有經(jīng)驗(yàn)的程序員在使用Eclipse的時(shí)候,會(huì)一種感覺(jué):IDE可以與它心意互通。在所有方面,這是一個(gè)開(kāi)發(fā)者為開(kāi)發(fā)者開(kāi)發(fā)的工具。
Visual Studio也非常不錯(cuò),它是一個(gè)非常偉大且高效的工具,它是一個(gè).NET開(kāi)發(fā)的完美工具。很明顯,微軟已經(jīng)盡了最大的努力來(lái)為.NET開(kāi)發(fā)者提供一個(gè)非常高效且非常直觀的開(kāi)發(fā)工具。甚至,其免費(fèi)版的Visual Studio Express版也非常令人印象深刻。
但是,由于得到了如此巨大的開(kāi)發(fā)社區(qū)的反饋信息和開(kāi)源開(kāi)發(fā)者的無(wú)私奉獻(xiàn),Eclipse明顯已經(jīng)先行一步,實(shí)際上重新定義了IDE的概念,把傳統(tǒng)IDE帶入到一個(gè)更強(qiáng)大更智能的境界,使它本身變?yōu)殚_(kāi)發(fā)者思考過(guò)程的一種延續(xù)和擴(kuò)展。因此我選擇了Eclipse作為最后的勝利者。
三.Eclipse:談Java及Eclipse未來(lái)之路
Eclipse基金會(huì)的Eclipse 2006世界大會(huì)9月初在麻省的劍橋舉行,大會(huì)宣揚(yáng)了這個(gè)開(kāi)源應(yīng)用開(kāi)發(fā)項(xiàng)目的成功,并表示之所以獲得今天的發(fā)展一方面是因?yàn)槲碎_(kāi)發(fā)者的興趣,一方面得到了來(lái)自諸如IBM的大公司的支持。InfoWord編輯全程采訪了Eclipse基金會(huì)的執(zhí)行理事Mike Milinkovich,他談?wù)摿嗽摶鸾M織所取得的成績(jī)、以及與微軟和Sun之間的競(jìng)爭(zhēng)關(guān)系,并說(shuō)到了Java以及Eclipse的未來(lái)之路。
InfoWord:據(jù)你估計(jì)基于Eclipse的軟件產(chǎn)生了多少價(jià)值的財(cái)富,或者Eclipse對(duì)用戶的主要吸引力依然在于其全部免費(fèi)么?
Mike Milinkovich:按照圍繞Eclipse建立的生態(tài)系統(tǒng)的大小,我認(rèn)為我們擁有一個(gè)比較好的數(shù)據(jù)在量化Eclipse產(chǎn)生的財(cái)富,我非常確信,這個(gè)數(shù)字是十億美元甚至更多,但是我們沒(méi)有確切的數(shù)字。
對(duì)于你說(shuō)的Eclipse的免費(fèi)成為其吸引開(kāi)發(fā)者的因素,我認(rèn)為不完全準(zhǔn)確,Eclipse生態(tài)系統(tǒng)模型與你說(shuō)的有一點(diǎn)不同,因?yàn)閷?duì)Eclipse團(tuán)隊(duì)總體上來(lái)說(shuō),幾乎是唯一一個(gè)致力于在免費(fèi)平臺(tái)上創(chuàng)建一個(gè)商業(yè)盈利軟件的生態(tài)系統(tǒng)。因此,我們的確提供開(kāi)源的Eclipse開(kāi)發(fā)工具和Eclipse框架,而且這都是免費(fèi)提供的。但是我們更希望看到的是,在Eclipse生態(tài)系統(tǒng)中人們可以通過(guò)Eclipse平臺(tái)來(lái)獲得財(cái)富。
InfoWord:剛才我碰到一個(gè)技術(shù)基于Eclipse的公司,他們沒(méi)有銷售人員。你認(rèn)為這是軟件公司發(fā)展的一個(gè)趨勢(shì)嗎?還是部分開(kāi)源公司因?yàn)樗麄儧](méi)有看到需要而不設(shè)銷售人員?
Mike Milinkovich:從歷史的角度來(lái)看,企業(yè)軟件有很多通過(guò)直銷渠道銷售的情況。隨著時(shí)間的過(guò)去,我相信,我們正在開(kāi)始看到開(kāi)源軟件產(chǎn)品也成功的應(yīng)用了直銷模式,這個(gè)領(lǐng)域一直是傳統(tǒng)軟件產(chǎn)品所占據(jù)的。說(shuō)到這兒,我想起Sugar CRM和Compiere ERP和開(kāi)源產(chǎn)品,這些平臺(tái)或這些產(chǎn)品擁有非常非常低的銷售成本,因此客戶更容易接受他們。我認(rèn)為隨著時(shí)間的過(guò)去,會(huì)有越來(lái)越少的軟件銷售人員。
InfoWord:對(duì)于Sun將加入Eclipse或合并NetBeans和Eclipse的傳聞,您怎么看待該事件的進(jìn)展?
Mike Milinkovich:當(dāng)然不是。Sun已經(jīng)非常明確表示,除了繼續(xù)推動(dòng)他們的NetBean策略,不會(huì)對(duì)任何其他事情感興趣。
InfoWord:你如何看待目前存在的兩個(gè)競(jìng)爭(zhēng)對(duì)手?有利于競(jìng)爭(zhēng)嗎?
Mike Milinkovich:我們當(dāng)然不會(huì)懼怕競(jìng)爭(zhēng),而且很明顯我們?cè)谮A得這種競(jìng)爭(zhēng), SUN似乎說(shuō)的與您說(shuō)的不同, 那么祝他們好運(yùn)。我已經(jīng)得到很多用戶,而他們沒(méi)有。
InfoWord:NetBeans或Windows .Net,你認(rèn)為哪一個(gè)是Eclipse的主要競(jìng)爭(zhēng)對(duì)手?
Mike Milinkovich:我們一直很明確,Eclipse將一直面臨來(lái)自微軟的競(jìng)爭(zhēng)。
InfoWord:那么你如何經(jīng)營(yíng)Eclipse?
Mike Milinkovich:實(shí)際上,我們五年前就開(kāi)始運(yùn)作了,我想說(shuō)從零開(kāi)始發(fā)展,五年中Eclipse的成長(zhǎng)是相當(dāng)顯著的。
InfoWord:現(xiàn)在Eclipse開(kāi)始不重視Java而將重點(diǎn)放在其他語(yǔ)言上嗎?例如像.Net一樣的某些腳本語(yǔ)言?
Mike Milinkovich:我不認(rèn)為我們不再對(duì)Java重視。由于Eclipse正在不斷成長(zhǎng),有更多的項(xiàng)目加入進(jìn)來(lái)。現(xiàn)在有更多的資源幫助Eclipse支持更多的語(yǔ)言和平臺(tái)。現(xiàn)在幾乎所有的Eclipse項(xiàng)目都是有Java編寫(xiě)代碼,因此我們很明顯是Java的重要用戶。但是就Java是我們?cè)贓clipse內(nèi)支持的唯一語(yǔ)言或平臺(tái)而論,這對(duì)于Eclipse是永遠(yuǎn)不可能的。只要我們發(fā)現(xiàn)人們喜歡的平臺(tái)或語(yǔ)言,我們就將支持他。
InfoWord:請(qǐng)問(wèn)Eclipse的發(fā)展方向,以及最近有什么新技術(shù)?
Mike Milinkovich:說(shuō)到這個(gè),很多事情一下子涌現(xiàn)到我的腦海中。首先是圍繞富客戶端平臺(tái)的繼續(xù)增長(zhǎng)和采用。支持更多的語(yǔ)言。下個(gè)季度,我們計(jì)劃在Eclipse內(nèi)推出首版的PHP IDE項(xiàng)目,我們認(rèn)為這是一個(gè)非常令人激動(dòng)的項(xiàng)目。因?yàn)闊o(wú)論是對(duì)企業(yè)開(kāi)發(fā)者還是Web開(kāi)發(fā)者來(lái)說(shuō),PHP是一門非常重要的語(yǔ)言,因此使得Eclipse工具支持PHP是一件令我們激動(dòng)的事情。
Java咖啡館(3)——Eclipse
序言
與鐵匠揮灑汗水和忍受高溫相比,軟件開(kāi)發(fā)是一個(gè)既干凈又抽象的過(guò)程。不過(guò),代碼與鋼鐵的相同之處就是它們都有延展性——通過(guò)足夠的技巧和努力,可以把鋼鐵或代碼變成精致的工具或巨大的機(jī)器。
上回我們品嘗第一杯咖啡時(shí),只說(shuō)出了第一句“Hello, world!”,手工編寫(xiě)、編譯、調(diào)試、運(yùn)行Java程序,一定讓你手忙腳亂,飽嘗Java咖啡的苦澀。若要完成一個(gè)大型項(xiàng)目,這樣的徒手作業(yè)無(wú)異于愚公移山。
對(duì)Java開(kāi)發(fā)者來(lái)說(shuō),沒(méi)有什么能夠比得心應(yīng)手的集成開(kāi)發(fā)環(huán)境(Integrated Development Environment,簡(jiǎn)稱IDE)更令人著迷。 所謂IDE,就是把編寫(xiě)、編譯、調(diào)試、運(yùn)行集成在一個(gè)統(tǒng)一開(kāi)發(fā)環(huán)境中的軟件,并且還增加了許多提高開(kāi)發(fā)效率的實(shí)用功能,比如高級(jí)編輯功能、自動(dòng)編譯、設(shè)置斷點(diǎn)逐步調(diào)試、在IDE內(nèi)部顯示運(yùn)行結(jié)果等。徒手開(kāi)發(fā)好比刀耕火種,用IDE可謂進(jìn)入了蒸汽時(shí)代。
十年前,由于技術(shù)所限,IDE還是奢侈品。隨著科技的飛速發(fā)展,十年之后的今天,界面易用、功能強(qiáng)大、速度飛快的IDE已經(jīng)無(wú)法成為人們熱衷的話題,即便免費(fèi)也難以成為怦然心動(dòng)的惟一理由。套用經(jīng)濟(jì)學(xué)術(shù)語(yǔ),人們渴望的不僅僅是一個(gè)傳統(tǒng)的IDE,而是一種邊際效應(yīng)遞增的開(kāi)發(fā)工具——更多的可用資源、更高的開(kāi)發(fā)效率、更合理的開(kāi)發(fā)方法,以及更保值的知識(shí)投入——免費(fèi)當(dāng)然再好不過(guò)了。
Eclipse就是這樣一個(gè)開(kāi)發(fā)工具——開(kāi)放源代碼、免費(fèi)、優(yōu)秀的廠商支持,并且擁有豐富的擴(kuò)展資源。
Eclipse
1.Eclipse的歷史
Eclipse的前身是IBM的Visual Age for Java(簡(jiǎn)稱VA4J)。把這個(gè)項(xiàng)目免費(fèi)贈(zèng)送給Eclipse社團(tuán)(www.eclipse.org)前,IBM已經(jīng)投入超過(guò)四千萬(wàn)美元進(jìn)行研發(fā)。Eclipse社團(tuán)的創(chuàng)始人還包括Borland、Merant、QNX Software Systems、Rational Software、Red Hat、SuSE、TogetherSoft和Webgain,后來(lái)加入的還有Oracle等公司,實(shí)力相當(dāng)雄厚。如今,IBM通過(guò)附屬的研發(fā)機(jī)構(gòu)Object Technologies International(簡(jiǎn)稱OTI),繼續(xù)領(lǐng)導(dǎo)著Eclipse的開(kāi)發(fā)。
黃糖故事
OTI的傳說(shuō)
OTI是杰出的面向?qū)ο箝_(kāi)發(fā)工具的研究組織。早在1988年,他們對(duì)Smalltalk已經(jīng)有了深入研究。在《Java咖啡館(1)——嘆咖啡》的黃糖故事中我們已經(jīng)介紹過(guò),Smalltalk是第一個(gè)完全面向?qū)ο蟮膭?dòng)態(tài)計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。1996年加入IBM后,他們推動(dòng)了IBM著名的Visual Age系列開(kāi)發(fā)工具的生產(chǎn)。實(shí)際上,IBM當(dāng)時(shí)的VA4J是用Smalltalk編寫(xiě)的,并且為Java融入了許多Smalltalk的先進(jìn)理念,比如沒(méi)有“文件”的概念,版本控制被提高到方法學(xué)的層次。
Eclipse可以看做VA4J的Java語(yǔ)言實(shí)現(xiàn),但并沒(méi)有受到Smalltalk太多的影響和制約。為了更加實(shí)用,Eclipse去掉了一些純OO(面向?qū)ο?的元素,在理想主義與實(shí)用性之間找到了一個(gè)很好的平衡點(diǎn)。雖然這使得一些純OO的追隨者傷心欲絕,但結(jié)合實(shí)際應(yīng)用、聆聽(tīng)用戶的聲音,或許這正是Java如此成功的根本原因吧。
2.Eclipse的構(gòu)架
如果把Java開(kāi)發(fā)者比作鐵匠,那么把Eclipse比作鐵匠鋪就再合適不過(guò)了——你不但能夠制作產(chǎn)品,還能夠打造開(kāi)發(fā)工具。
當(dāng)下載了Eclipse,你直接接觸到的是:
★用來(lái)編輯和調(diào)試Java源代碼的Java開(kāi)發(fā)工具箱(Java Development Toolkit,簡(jiǎn)稱JDT),功能相當(dāng)于IDE,用來(lái)開(kāi)發(fā)產(chǎn)品。
★可以擴(kuò)展Eclipse本身的插件開(kāi)發(fā)環(huán)境(Plug-in Development Environment,簡(jiǎn)稱PDE),好比Winamp等多媒體播放器的插件開(kāi)發(fā)包,用來(lái)打造開(kāi)發(fā)工具。
實(shí)際上,Eclipse的基礎(chǔ)是Eclipse平臺(tái)(Eclipse Platform),提供軟件開(kāi)發(fā)工具集成的服務(wù),而各種開(kāi)發(fā)工具,包括JDT和PDE,都是用插件的形式提供的。插件設(shè)計(jì)使得Eclipse具有開(kāi)放式可擴(kuò)充的結(jié)構(gòu)。比如,你想開(kāi)發(fā)C/C++程序,裝一個(gè)C開(kāi)發(fā)工具(C Development Toolkit,簡(jiǎn)稱CDT)插件代替JDT即可。同理,通過(guò)開(kāi)發(fā)相應(yīng)插件,Eclipse也可以用來(lái)開(kāi)發(fā)微軟的C#程序。Eclipse設(shè)計(jì)的優(yōu)美之處在于,除了小部分運(yùn)行的核心,其他都是插件(見(jiàn)圖1)。
通過(guò)插件機(jī)制,Eclipse體現(xiàn)了一種主觀能動(dòng)的態(tài)度:它提供給你一個(gè)開(kāi)放的平臺(tái)、一個(gè)平等參與的機(jī)會(huì),以及一些需要遵守的總體規(guī)則,然后你盡可快意恩仇,以出人意料但又令人拍案叫絕的方式來(lái)使用Eclipse。如果你有新的需要而Eclipse沒(méi)有滿足,自己動(dòng)手做個(gè)插件吧,不但豐衣足食,對(duì)整個(gè)Eclipse社群也是直接的貢獻(xiàn)。
主觀能動(dòng)并非開(kāi)發(fā)工具的惟一態(tài)度。與Eclipse競(jìng)爭(zhēng)的開(kāi)發(fā)工具,比如Borland公司的JBuilder,采用的是另一種做法:你支付高昂的費(fèi)用,Borland提供一個(gè)近乎全能的JBuilder——包括支持Eclipse不內(nèi)建提供的JSP(服務(wù)器端動(dòng)態(tài)網(wǎng)頁(yè)技術(shù))、EJB(一種企業(yè)級(jí)數(shù)據(jù)持久技術(shù))和Web Services(Web服務(wù))的開(kāi)發(fā)。如若你要求新的功能,你可以告訴善于聆聽(tīng)用戶意見(jiàn)的Borland,或許他們會(huì)在下一個(gè)版本中加上新特性滿足你的要求。當(dāng)然也可能完全不理你,認(rèn)為你的需求不足以令他們開(kāi)發(fā)一個(gè)新特性。Borland公司的態(tài)度充滿了商業(yè)的嚴(yán)謹(jǐn),JBuilder也堪稱經(jīng)典,但Eclipse的那種瀟灑和自由,用戶的那種強(qiáng)烈的歸屬感,溢于言表。
3.開(kāi)放源代碼
Eclipse是一個(gè)開(kāi)放源代碼的軟件,是以Common Public License (簡(jiǎn)稱CPL)授權(quán)形式發(fā)布的。開(kāi)源通常意味著免費(fèi),Eclipse也不例外。
雖然Eclipse是一個(gè)開(kāi)放源代碼的項(xiàng)目,但由IBM這樣一個(gè)商業(yè)主體領(lǐng)導(dǎo)著項(xiàng)目的開(kāi)發(fā),這一點(diǎn)跟普通的趨于無(wú)政府主義的開(kāi)源軟件有所區(qū)別。實(shí)際上,CPL授權(quán)旨在促進(jìn)Eclipse平臺(tái)上的商業(yè)應(yīng)用,呈現(xiàn)一個(gè)基于Eclipse的免費(fèi)和商業(yè)軟件共存的系統(tǒng)。
公開(kāi)源代碼的一個(gè)自然結(jié)果,就是Eclipse開(kāi)發(fā)者一直在聽(tīng)取用戶的意見(jiàn)——實(shí)際上,Eclipse開(kāi)發(fā)者本身就是Eclipse最忠實(shí)的使用者。而Eclipse開(kāi)發(fā)者中,不乏IBM的杰出科學(xué)家,所以其品質(zhì)及理念極為出色。當(dāng)初Eclipse 2.1發(fā)布時(shí),曾經(jīng)出現(xiàn)過(guò)“哄搶”的慘烈局面——下載量太大導(dǎo)致服務(wù)器帶寬不夠,要想在第一周內(nèi)得到一份拷貝,也不是那么容易!
4.豐富的擴(kuò)展資源
Eclipse是軟件開(kāi)發(fā)者的鐵匠鋪,煉爐、鐵砧以及錘子,一應(yīng)俱全。就像鐵匠用已有的工具打造鉗子等新工具一樣,你還可以用Eclipse開(kāi)發(fā)Eclipse的插件來(lái)擴(kuò)展其功能。得益于在Java社團(tuán)中極高的知名度以及開(kāi)源的本質(zhì),很多個(gè)人或者廠商提供了許多工具來(lái)擴(kuò)展Eclipse,比如開(kāi)發(fā)J2EE、UML建模等插件,很少有找不到相應(yīng)功能的插件。此外,大多數(shù)工具都是免費(fèi)的。
Eclipse的獲取與安裝
1.下載并安裝Eclipse
下載Eclipse的網(wǎng)頁(yè)是http://www.eclipse.org/downloads/index.php。鑒于令人朝思暮想的Eclipse 3.0 Release于2004年6月25日左右發(fā)布,我們這里將采用Eclipse 3.0 M9 Stable Build進(jìn)行講解。Windows版本的文件名是Eclipse-SDK-3.0M9-win32.zip,約85.3MB。
安裝Eclipse異常簡(jiǎn)單,把ZIP包中的Eclipse目錄解壓縮到C盤根目錄中即可。
黃糖故事
關(guān)于開(kāi)源軟件版本的行話
許多開(kāi)源軟件都有若干約定成俗的版本稱謂,好比行當(dāng)黑話,不了解會(huì)吃大虧。
Release:實(shí)現(xiàn)承諾的特性,并且通過(guò)徹底測(cè)試的穩(wěn)定版本。這種版本一般非常健壯,并且擁有許多可以配合使用的第三方軟件,適合開(kāi)發(fā)商業(yè)項(xiàng)目。在這篇文章撰寫(xiě)之時(shí),Eclipse的最新Release版本是2.1.3,于2004年3月10日發(fā)布。Release相當(dāng)于Windows正式版。
Stable Build:新的Release版本一般要經(jīng)過(guò)若干個(gè)開(kāi)發(fā)周期,在此期間,如果某個(gè)版本經(jīng)過(guò)測(cè)試相對(duì)穩(wěn)定,開(kāi)發(fā)人員便會(huì)把它發(fā)布成Stable Build,供渴望嘗試新特性的用戶在第一時(shí)間體驗(yàn)。相當(dāng)于Beta測(cè)試版本的Windows。
Integration Build:當(dāng)Eclipse開(kāi)發(fā)人員開(kāi)發(fā)出穩(wěn)定部件時(shí)發(fā)布的版本,當(dāng)然不能保證部件之間能夠友善合作。如果可以,則將升級(jí)為Stable Build發(fā)布。不推薦普通用戶下載使用。
Nightly Build:每夜構(gòu)筑的版本,是自動(dòng)工具每天晚上通過(guò)自動(dòng)編譯得到的版本,方便開(kāi)發(fā)者之間交流。這種版本的穩(wěn)定性沒(méi)有任何保障,不推薦用戶下載使用。
2.啟動(dòng)Eclipse
你必須安裝了J2SE 1.4以上的SDK或JRE才能運(yùn)行Eclipse,具體安裝方法請(qǐng)參考《Java咖啡館(2)——第一杯咖啡》一文。一切就緒后,雙擊“C:\Eclipse\Eclipse.exe”便能啟動(dòng)Eclipse了。首次啟動(dòng)Eclipse,會(huì)讓你配置工作區(qū),選擇默認(rèn)即可(見(jiàn)圖2)。
用Eclipse開(kāi)發(fā)Hello World!
讓我們通過(guò)Hello World!程序來(lái)體驗(yàn)地道的Java開(kāi)發(fā)。
第一步:新建Java項(xiàng)目
選擇“File→New→Project...”,選擇“Java Project”,點(diǎn)擊“Next”,便打開(kāi)了“New Java Project”向?qū)АT?#8220;Project name”中填入“HelloWorld”,不需要進(jìn)行其他設(shè)置,直接左擊“Finish”按鈕。
第二步:新建HelloWorldApp類
選擇“File→New→Class”,在“New Java Class”向?qū)е械腘ame框中輸入“HelloWorldApp”,并且在“public static void main(String[] args)”選項(xiàng)前面打上勾。
這時(shí),向?qū)?huì)有一個(gè)提示,由于項(xiàng)目簡(jiǎn)單,不需要用到package,所以不必理會(huì)。最后按下“Finish”按鈕。這時(shí)你會(huì)發(fā)現(xiàn),上期連載中的Hello World!程序框架代碼已經(jīng)自動(dòng)生成。這就是Eclipse的代碼生成(Code Generation)特性(見(jiàn)圖3)。
第三步:添加打印語(yǔ)句
與上回連載中的代碼相比,現(xiàn)在僅僅缺少一句輸出“Hello World!”字樣的語(yǔ)句:
System.out.println("Hello World!");
讓我們看看Eclipse中如何快速輸入。
首先把光標(biāo)移動(dòng)到“main”函數(shù)那行的“{”后面,回車,光標(biāo)會(huì)自動(dòng)跳到下一行并且多一個(gè)Tab位的縮進(jìn),自動(dòng)保持代碼的美觀。現(xiàn)在輸入“System”,注意“S”大寫(xiě)。然后輸入“.”,這時(shí)你會(huì)發(fā)現(xiàn)自動(dòng)彈出一個(gè)菜單,顯示了“System”所有成員變量和方法!接著輸入“o”,彈出菜單會(huì)自動(dòng)過(guò)濾以“o”打頭的成員變量和方法,所以只剩下“out”了,只要按下回車,“out”便自動(dòng)加到“.”的后面。繼續(xù)輸入“.”,又會(huì)跳出菜單顯示“out”的方法(見(jiàn)圖4)。由于“out”的眾多方法中叫做“print”的很多,你可以直接輸入“println”或在下拉菜單中搜索,并按下回車。這時(shí),你會(huì)發(fā)現(xiàn)“println”后面的括號(hào)都自動(dòng)生成了。把光標(biāo)移動(dòng)到括號(hào)里面,輸入引號(hào),Eclipse會(huì)自動(dòng)給你添加另外一半引號(hào)。在兩個(gè)引號(hào)中間輸入“Hello World!”。最后把光標(biāo)移動(dòng)到這行的最后,輸入“;”號(hào)。
雖然敘述起來(lái)很羅嗦,但你自己操作一遍就能體會(huì)這樣的編碼有多舒服。這就是Eclipse的代碼完成(Code Completion)功能。代碼完成能夠:
★通過(guò)自動(dòng)過(guò)濾加快輸入的速度;
★通過(guò)選擇與回車鍵選擇的方式來(lái)避免輸入錯(cuò)誤;
★當(dāng)你記不清某個(gè)類的成員變量或者方法時(shí)可以有效地提示你。
這里還有一個(gè)實(shí)用的技巧:當(dāng)你的源代碼中存在語(yǔ)法問(wèn)題,Eclipse編輯器會(huì)用紅色大叉外加波浪線來(lái)標(biāo)記,你可以根據(jù)提示隨時(shí)修正。
第四步:運(yùn)行Java程序
現(xiàn)在直接在Eclipse中運(yùn)行這個(gè)程序,看看執(zhí)行結(jié)果。
按下“Run→Run...”,Eclipse會(huì)彈出運(yùn)行設(shè)置向?qū)В儐?wèn)運(yùn)行配置。這個(gè)程序是一個(gè)Java程序,所以在Configurations里面選擇“Java Application”,然后按下“New”按鈕。當(dāng)Eclipse創(chuàng)建好配置以后,你只需要按下Run便能夠看到結(jié)果了(見(jiàn)圖5)。
小結(jié)
實(shí)際上,Eclipse博大精深,而且蘊(yùn)含許多精辟的方法與概念,是許多IBM科學(xué)家多年積累的經(jīng)驗(yàn)。但由于Java咖啡館主題還是Java語(yǔ)言,不能讓Eclipse喧賓奪主,然而Eclipse中的許多哲學(xué)思想通用于軟件開(kāi)發(fā),很多軟件方法與技術(shù)令人愛(ài)不釋手。希望你有時(shí)間能多多把玩Eclipse,這個(gè)軟件絲毫不亞于幾千美金的商業(yè)軟件!最后,推薦閱讀Jim D'Anjou等人撰寫(xiě)的《Using Java Development Tools in Eclipse》一文,該文章的URL是http://www.awprofessional.com/articles/article.asp?p=31789,文章對(duì)JDT的使用有詳細(xì)的介紹。
eclipse 插件 下載 收藏工具資源
Eclipse下載
EMF,GEF - Graphical Editor Framework,UML2,VE - Visual Editor都在這里下載
http://www.eclipse.org/downloads/index.php
2 lomboz J2EE插件,開(kāi)發(fā)JSP,EJB
http://forge.objectweb.org/projects/lomboz
3 MyEclipse J2EE開(kāi)發(fā)插件,支持SERVLET/JSP/EJB/數(shù)據(jù)庫(kù)操縱等
http://www.myeclipseide.com
4 Properties Editor 編輯java的屬性文件,并可以自動(dòng)存盤為Unicode格式
http://propedit.sourceforge.jp/index_en.html
5 Colorer Take 為上百種類型的文件按語(yǔ)法著色
http://colorer.sourceforge.net/
6 XMLBuddy 編輯xml文件
http://www.xmlbuddy.com
7 Code Folding 加入多種代碼折疊功能(比eclipse自帶的更多)
http://www.coffee-bytes.com/servlet/PlatformSupport
8 Easy Explorer 從eclipse中訪問(wèn)選定文件、目錄所在的文件夾
http://easystruts.sourceforge.net/
9 Fat Jar 打包插件,可以方便的完成各種打包任務(wù),可以包含外部的包等
http://fjep.sourceforge.net/
10 RegEx Test 測(cè)試正則表達(dá)式
http://brosinski.com/stephan/archives/000028.php
11 JasperAssistant 報(bào)表插件(要錢的哦~)
http://www.jasperassistant.com/
12 Jigloo GUI Builder JAVA的GUI編輯插件
http://cloudgarden.com/jigloo/
13 Profiler 性能跟蹤、測(cè)量工具,能跟蹤、測(cè)量B/S程序
http://sourceforge.net/projects/eclipsecolorer/
14 AdvanQas 提供對(duì)if/else等條件語(yǔ)句的提示和快捷幫助(自動(dòng)更改結(jié)構(gòu)等)
http://eclipsecolorer.sourceforge.net/advanqas/index.html
15 Log4E Log4j插件,提供各種和Log4j相關(guān)的任務(wù),如為方法、類添加一個(gè)logger等
http://log4e.jayefem.de/index.php/Main_Page
16 VSSPlugin VSS插件
http://sourceforge.net/projects/vssplugin
17 Implementors 提供跳轉(zhuǎn)到一個(gè)方法的實(shí)現(xiàn)類,而不是接口的功能(實(shí)用!)
http://eclipse-tools.sourceforge.net/implementors/
18 Call Hierarchy 顯示一個(gè)方法的調(diào)用層次(被哪些方法調(diào),調(diào)了哪些方法)
http://eclipse-tools.sourceforge.net/call-hierarchy/index.html
19 EclipseTidy 檢查和格式化HTML/XML文件
http://eclipsetidy.sourceforge.net/
20 Checkclipse 檢查代碼的風(fēng)格、寫(xiě)法是否符合規(guī)范
http://www.mvmsoft.de/content/plugins/checkclipse/checkclipse.htm
21 Hibernate Synchronizer Hibernate插件,自動(dòng)映射等
http://www.binamics.com/hibernatesync/
22 VeloEclipse Velocity插件
http://propsorter.sourceforge.net/
23 EditorList 方便的列出所有打開(kāi)的Editor
http://editorlist.sourceforge.net/
24 MemoryManager 內(nèi)存占用率的監(jiān)視
http://cloudgarden.com/memorymanager/
25 swt-designer java的GUI插件
http://www.swt-designer.com/
26 TomcatPlugin 支持Tomcat插件
http://www.sysdeo.com/eclipse/tomcatPlugin.html
27 XML Viewer
http://tabaquismo.freehosting.net/ignacio/eclipse/xmlview/index.html
28 quantum 數(shù)據(jù)庫(kù)插件
http://quantum.sourceforge.net/
29 Dbedit 數(shù)據(jù)庫(kù)插件
http://sourceforge.net/projects/dbedit
30 clay.core 可視化的數(shù)據(jù)庫(kù)插件
http://www.azzurri.jp/en/software/index.jsp
http://www.azzurri.jp/eclipse/plugins
31 hiberclipse hibernate插件
http://hiberclipse.sourceforge.net
http://www.binamics.com/hibernatesync
32 struts-console Struts插件
http://www.jamesholmes.com/struts/console/
33 easystruts Struts插件
http://easystruts.sourceforge.net
34 veloedit Velocity插件
http://veloedit.sourceforge.net/
35 jalopy 代碼整理插件
http://jalopy.sourceforge.net/
36 JDepend 包關(guān)系分析
http://andrei.gmxhome.de/jdepend4eclipse/links.html
37 Spring IDE Spring插件
http://springide-eclip.sourceforge.net/updatesite/
38 doclipse 可以產(chǎn)生xdoclet 的代碼提示
http://beust.com/doclipse/
39 SQLExplorer,在Eclipse 中連接各種數(shù)據(jù)庫(kù)進(jìn)行操作使用
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=124&threadID=31124
假如,當(dāng)年IBM 沒(méi)有把Eclipse 捐出去,今天又會(huì)是怎樣呢?
如果你想為Eclipse送上自己的祝福,可以點(diǎn)擊electronic birthday card 制作電子賀卡。
在Eclipse五周歲來(lái)臨之際,Eclipse將在11月份舉行慶祝活動(dòng),并邀請(qǐng)廣大的愛(ài)好者參加。在世界各地都有當(dāng)?shù)氐膽c祝活動(dòng),詳情請(qǐng)點(diǎn)擊Eclipse 5th Birthday Parties。
如果你是一個(gè)Java支持者,你一定不會(huì)陌生Netbeans,因?yàn)榇蠹叶际菑腘etbeans的愛(ài)恨交加中走過(guò)來(lái)的,初識(shí)Netbeans還是3.6版本,當(dāng)時(shí)無(wú)論從界面還是運(yùn)行上,真的不敢恭維,但是誰(shuí)又能說(shuō)Netbeans會(huì)停止它前進(jìn)的腳步呢?由于開(kāi)源腳步的加快,Borland提前宣布退出,給了Netbeans更多的機(jī)會(huì),也讓Netbeans在業(yè)界得到專業(yè)人士的賞識(shí),但是他真的走出充當(dāng)配角角色嗎?真的像Netbeans高級(jí)宣傳官所說(shuō)的那樣走出低谷了嗎?
Netbeans拒絕與Eclipse合并
隨著開(kāi)源的興起,Jbuilder光輝不在,Netbeans的市場(chǎng)份額在今年上半年有了明顯的增長(zhǎng),據(jù)國(guó)外權(quán)威調(diào)查機(jī)構(gòu)顯示,Eclipse 市場(chǎng)份額占45%,Netbeans占 30%,Jbuilder占15% ,其它IDE占5%,從調(diào)查分析來(lái)看,Netbeans的市場(chǎng)占有率正在上升,原來(lái)三國(guó)鼎立的局面因?yàn)镴builder的退出,使Eclipse對(duì)決 Netbeans大戰(zhàn)提前上演了,都說(shuō)這是一場(chǎng)勢(shì)均力敵的戰(zhàn)爭(zhēng),倒不如說(shuō)是兩大軟件巨頭的撕殺,2006年初IBM就開(kāi)始和Sun公司進(jìn)行談判,數(shù)月談判結(jié)果給了IBM當(dāng)頭一棒,Sun公司拒絕加入IBM主導(dǎo)的開(kāi)源項(xiàng)目Eclipse,在宣布放棄Eclipse同時(shí),不久Sun表示,他們不再試圖將Sun 發(fā)起的NetBeans.org開(kāi)放源Java工具項(xiàng)目與Eclipse合并。
Sun公司認(rèn)為,加入Eclipse陣營(yíng)需要打破兩個(gè)組織之間的技術(shù)和組織差別,而這將對(duì)NetBeans和Eclipse項(xiàng)目現(xiàn)有的參與者造成不利影響。Sun公司開(kāi)發(fā)平臺(tái)集團(tuán)副總裁RichGreen表示,“我們雙方都確定我們不希望放棄現(xiàn)有項(xiàng)目”,“我們確定,合作社團(tuán)相對(duì)于削減成本等問(wèn)題更為重要。”
Eclipse和NetBeans開(kāi)放源項(xiàng)目目的是開(kāi)發(fā)軟件以允許不同的Java開(kāi)發(fā)工具在單個(gè)編程應(yīng)用中能夠相互嵌和。比如,開(kāi)發(fā)人員可以將一家公司提供的源代碼管理工具與其他公司的代碼編輯器綜合在一起使用。
Green稱,雙方起初討論放棄NetBeans,但很快轉(zhuǎn)而談判尋求將兩個(gè)開(kāi)放源項(xiàng)目統(tǒng)一在一個(gè)單一實(shí)體下。理論上,將兩個(gè)項(xiàng)目和并可以建立一個(gè)針對(duì)同一技術(shù)的更大社團(tuán),并確保兩個(gè)項(xiàng)目不會(huì)建立不兼容的代碼。但Green表示,如果重寫(xiě)各自的插件系統(tǒng)以及相關(guān)的工具平臺(tái)需要雙方花費(fèi)很長(zhǎng)時(shí)間和巨大開(kāi)銷。比如,Sun的商業(yè)開(kāi)發(fā)工具建立在NetBeans的基礎(chǔ)上,如果轉(zhuǎn)而采用Eclipse標(biāo)準(zhǔn)則需要進(jìn)行重大修改。
Sun和IBM Eclipse未能走到一起,在兩大開(kāi)放源工具項(xiàng)目之間建立起一個(gè)鴻溝。Green表示,這樣也為開(kāi)發(fā)商提供了更多的選擇。并且,Sun仍然希望將來(lái)與Eclipse重開(kāi)談判之門。
相對(duì)與Sun的內(nèi)斂相比,Eclipse基金會(huì)的執(zhí)行理事Mike Milinkovich要自信得多,在談到老競(jìng)爭(zhēng)對(duì)手時(shí),他說(shuō)這本來(lái)就是一場(chǎng)沒(méi)有懸念的戰(zhàn)爭(zhēng),我們已經(jīng)擁有了足夠多的用戶,而他們沒(méi)有,很明顯我們會(huì)贏得這場(chǎng)戰(zhàn)爭(zhēng),我只能祝他們好運(yùn)。
關(guān)于兩位當(dāng)事人的觀點(diǎn)我們的記者也采訪了香港政府IT部門架構(gòu)師Recher,他說(shuō)這本身就是一場(chǎng)實(shí)力懸殊的競(jìng)爭(zhēng),雖然近期 Netbeans是在市場(chǎng)戰(zhàn)略上取得一些佳績(jī),但不能說(shuō)他們真正的贏得了這場(chǎng)勝利,他只不過(guò)是在分享Jbuilder拋棄的市場(chǎng)份額而已,Eclipse 并沒(méi)有因?yàn)樗脑黾佣鴾p少,Sun公司一直在用一種狹隘的心態(tài)在抵制自已競(jìng)爭(zhēng)對(duì)手,最近和IBM的談判崩裂,以及Sun一直都沒(méi)把OSGI列放JMX的標(biāo)準(zhǔn)中,就是很好的例證。
Eclipse未來(lái)之路
同時(shí)Recher也談到了Eclispe開(kāi)發(fā)在3個(gè)方面占勝了Netbeans.
1. 在技術(shù)上Eclipse是良好的OSGI框架實(shí)現(xiàn)(Equinox是OSGi R4 core framework的一個(gè)實(shí)現(xiàn),而Eclipse IDE是基于Equinox項(xiàng)目開(kāi)發(fā)的一個(gè)典型例子OSGI的好處基本就是面向組件開(kāi)發(fā),并提供一個(gè)十分好用的plugs-in框架,開(kāi)發(fā)性強(qiáng)。況且 Eclipse本身就是一個(gè)RCP的容器---為未來(lái)RCP應(yīng)用程序的將來(lái)提供不可缺少而且成熟的工具和容器。
2. 在市場(chǎng)上Netbeans支持的項(xiàng)目和工具太少了,因?yàn)楹芏嚅_(kāi)源項(xiàng)目都提供了大量Eclipse的plugs-in組件,這些是其它IDE 工具無(wú)法比擬的, 現(xiàn)在的 IBM已經(jīng)和Eclipse完全整合了(以前的WSAD還不能說(shuō)完全,但I(xiàn)RAD6.0就已經(jīng)很完全了),同時(shí)IBM推出RSA(Rational Software Architect)的工具可以把Eclipse+UML+RUP+IRAD比較完美結(jié)合,至少我認(rèn)為它是目前出來(lái)最好的工具了,整個(gè)RUP都可以涵蓋,而且還是支持UML2.0.
3. 在背景方面Eclispe的流行完全是IBM在它萌芽階段進(jìn)行資金贊助的產(chǎn)物,有了IBM這個(gè)藍(lán)色巨人的支持, 它的前途無(wú)可限量,但是也不能小看了Sun公司的這個(gè)冷面殺手,有Sun這個(gè)強(qiáng)有力的后盾,雙方以后的競(jìng)爭(zhēng)會(huì)很激烈的.
其實(shí)對(duì)于Eclipse未來(lái),我們國(guó)內(nèi)的架構(gòu)師們只是在應(yīng)用的角度上來(lái)看得在這個(gè)問(wèn)題,Mike Milinkovich在9月初的Eclipse 2006世界大會(huì)指出了Eclipse未來(lái)的發(fā)展和新技術(shù)走向,他告訴我們首先是圍繞富客戶端平臺(tái)的繼續(xù)增長(zhǎng)和采用。支持更多的語(yǔ)言。下個(gè)季度,我們計(jì)劃在Eclipse內(nèi)推出首版的PHP IDE項(xiàng)目,我們認(rèn)為這是一個(gè)非常令人激動(dòng)的項(xiàng)目。因?yàn)闊o(wú)論是對(duì)企業(yè)開(kāi)發(fā)者還是Web開(kāi)發(fā)者來(lái)說(shuō),PHP是一門非常重要的語(yǔ)言,因此使得Eclipse工具支持PHP是一件令我們激動(dòng)的事情。
NetBeans未來(lái)走向
在IDE開(kāi)發(fā)工具競(jìng)爭(zhēng)激烈的今天,Sun也逐步的調(diào)整了Netbeans市場(chǎng)戰(zhàn)略,在今年JavaOne大會(huì)上,Netbeans高級(jí)宣傳官 Tim Boudreau也談到了Netbeans以后發(fā)展動(dòng)向,他告訴我們,自從1998年以來(lái),NetBeans并沒(méi)有只為Java而工作。它也是C/C++工具的基礎(chǔ),Sun公司已經(jīng)將它轉(zhuǎn)用于Solaris很多年了,對(duì)它的支持正在進(jìn)行擴(kuò)展化和通用化,不再僅限于Solaris。NetBeans也是HP公司用于OpenVMS的IDE,支持COBOL, Fortran, C/C++和其它語(yǔ)言。例如在今年JavaOne大會(huì)上我們演示的對(duì)VB的支持—實(shí)際上是讀取VB代碼,編譯成字節(jié)碼,然后運(yùn)行,有時(shí)會(huì)比它本應(yīng)生成的本地代碼運(yùn)行還要快。因此,我們已經(jīng)開(kāi)始了這個(gè)項(xiàng)目,也會(huì)有圍繞腳本方面的開(kāi)發(fā)做更多的努力。NetBeans并不一定要局限于Java IDE平臺(tái)—它對(duì)于Java已經(jīng)有了很大地支持,那是人們首先要考慮的事情。但是就NetBeans目前的發(fā)展來(lái)看,它已經(jīng)成為了一個(gè)語(yǔ)言無(wú)關(guān)的平臺(tái)。
正象我們?cè)缙谔岬降模匾臇|西的壽命總是很長(zhǎng)。一些人聲稱Java會(huì)在5或10年里死亡,我們都會(huì)迎來(lái)下一個(gè)大的事物。即使真是那樣, NetBeans也一樣可能會(huì)支持下一個(gè)事物的到來(lái),但是對(duì)一個(gè)語(yǔ)言的壽命做假設(shè)的時(shí)候,有一件重事情要考慮,對(duì)于期望任何特殊的程序語(yǔ)言或范例的盛行周期日益變得更長(zhǎng)是很實(shí)際的,這有兩方面的原因。首先,我們?cè)诶L制人們?nèi)绾慰紤]告訴計(jì)算機(jī)工作的方式上的藍(lán)圖方面正越來(lái)越好,其次,一個(gè)語(yǔ)言統(tǒng)治的時(shí)間越長(zhǎng),它的代碼就會(huì)越多,因此移植的代價(jià)也就越大。于是你不得不緊跟一些事情,這些事情會(huì)強(qiáng)迫變化中的語(yǔ)言很豐富多彩。
現(xiàn)在有很多有關(guān)腳本語(yǔ)言的談?wù)摚俏移诖谥髁骶幊陶Z(yǔ)言中的下一個(gè)重大變化是讓直覺(jué)上類似多核芯片的并行方式成為規(guī)范標(biāo)準(zhǔn)。我確信在未來(lái)的時(shí)間里這些目標(biāo)將會(huì)成我們考慮的主流。
從上述的采訪中我們明顯看到了開(kāi)發(fā)公司的架構(gòu)師對(duì)于Eclipse的鐘愛(ài)程度,Eclipse已經(jīng)深入人心, Eclipse的強(qiáng)大是顯而易見(jiàn),記得Ruby剛剛在網(wǎng)上火爆的時(shí)候,Eclipse就迅速作出反應(yīng),推出了支持Ruby開(kāi)發(fā)插件,可是我們?cè)诜从^ Netbeas在5.5的版本還沒(méi)有這樣的計(jì)劃,Java之父Gosling曾說(shuō)過(guò)未來(lái)的Netbeans不將是純粹的Java開(kāi)發(fā)工具,它要涉及各個(gè)方面,以后也會(huì)支持Ruby開(kāi)發(fā),可是在他說(shuō)這些話的時(shí)候,Eclipse已經(jīng)在前進(jìn)的路上了,這難免令所有支持者感到失望,未來(lái)的日子,誰(shuí)將主宰我們都拭目以待。