久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

java技術(shù)本紀(jì)--似曾相識(shí)

 lovelydog 2005-09-22

1990-1994:Java緣起
文/孟巖

Larry Wall說(shuō),優(yōu)秀程序員應(yīng)有的三個(gè)特點(diǎn):懶惰,、急躁和傲慢,。Java就是誕生在一群懶惰、急躁而傲慢的程序天才之中,。
1990年12月,,Sun的工程師Patrick Naughton被當(dāng)時(shí)糟糕的Sun C++工具折磨的快瘋了。他大聲抱怨,,并威脅要離開(kāi)Sun轉(zhuǎn)投當(dāng)時(shí)在Steve Jobs領(lǐng)導(dǎo)之下的NeXT公司,。領(lǐng)導(dǎo)層為了留住他,給他一個(gè)機(jī)會(huì),,啟動(dòng)了一個(gè)叫做Stealth(秘密行動(dòng))的項(xiàng)目,。隨著James Gosling等人的加入,這個(gè)項(xiàng)目更名為Green,。其目標(biāo)是使用C++為嵌入式設(shè)備開(kāi)發(fā)一種新的基礎(chǔ)平臺(tái)技術(shù),,James Gosling本人負(fù)責(zé)開(kāi)發(fā)一個(gè)SGML編輯器。正如人們事后分析的那樣,,這位天才的程序員太懶惰,,所以沒(méi)有把C++學(xué)好,開(kāi)發(fā)中碰了一頭包;太急躁——所以不愿意停下來(lái)讀讀Scott Meyers的新書(shū)《Effective C++》;太傲慢——所以輕易地決定開(kāi)發(fā)一中新的編程語(yǔ)言,。他把這種語(yǔ)言命名為C++++--,,意思是C++“加上一些好東西,減去一些壞東西”,。顯然這個(gè)糟糕的名字不可能長(zhǎng)命百歲,,很快這種頗受同伴喜愛(ài)的小語(yǔ)言被命名為Oak。
到了1992年9月,Oak語(yǔ)言連同Green OS和一些應(yīng)用程序一起發(fā)布在稱(chēng)做Start 7的小設(shè)備上,,從而使之有了第一次精彩的亮相,。隨后,Sun開(kāi)了一家名為FirstPerson的公司,,整個(gè)團(tuán)隊(duì)被轉(zhuǎn)移到這家公司里研發(fā)機(jī)頂盒,,以投標(biāo)時(shí)代華納公司的一個(gè)項(xiàng)目。這幫天才被技術(shù)狂熱所鼓舞,,開(kāi)發(fā)出了一個(gè)高交互性的設(shè)備,,結(jié)果沒(méi)想到時(shí)代華納公司和有線(xiàn)電視服務(wù)商并不愿意用戶(hù)擁有那么大的控制權(quán),,從而在競(jìng)標(biāo)之戰(zhàn)中敗給了SGI,。Oak的鋒芒之銳,竟然把客戶(hù)都給嚇懵了,。Sun沮喪地關(guān)閉了FirstPerson,,召回了整個(gè)團(tuán)隊(duì)。事實(shí)證明,,傳統(tǒng)行業(yè)中那些腦滿(mǎn)肥腸的保守主義者是腐朽沒(méi)落的,。回去,!回到激情澎湃的IT產(chǎn)業(yè),,抓住互聯(lián)網(wǎng)的大潮,這才是出路,!1994年,,Oak被命名為Java,針對(duì)互聯(lián)網(wǎng)的新一輪開(kāi)發(fā)如火如荼,,一切已經(jīng)就緒,,熔巖在地下奔流,火山即將噴發(fā),。


1995: Java香濃世界
文/馬偉

1995年,,Sun正式對(duì)外公布了Java,并且發(fā)布了JDK 1.0,。這種外形酷似C++,,卻包含一顆Smalltalk般純潔的面向?qū)ο笾牡娜鲁绦蛟O(shè)計(jì)語(yǔ)言及其平臺(tái),幾乎在一夜之間就成為軟件產(chǎn)業(yè)的新寵兒,。Java當(dāng)時(shí)僅僅被用來(lái)為網(wǎng)站制作一些動(dòng)態(tài)應(yīng)用,諸如動(dòng)畫(huà)圖片之類(lèi),,但這仍然引起了很多Web開(kāi)發(fā)者們的注意,他們非??释幸环N安全的語(yǔ)言,,可以在靜態(tài)的HTML網(wǎng)頁(yè)上制作動(dòng)畫(huà)圖片。Sun最終把Java集成到NetScape瀏覽器。同時(shí)因?yàn)樗哂小爸粚?xiě)一次,,隨處運(yùn)行”的特性,,而引起了很多開(kāi)發(fā)者的注意,他們可以再也不用為了使程序能夠在不同型號(hào)的硬件上運(yùn)行而耗費(fèi)大量的時(shí)間來(lái)編譯代碼了,。
當(dāng)時(shí)的Web瀏覽器的出現(xiàn)也為Java的出現(xiàn)起到了很好的推動(dòng)作用,,通過(guò)Java和Web瀏覽器的結(jié)合,人們似乎看到了什么,,有人甚至預(yù)言PC將在一兩年內(nèi)退出歷史的舞臺(tái),,取而代之的是基于Java的瀏覽器應(yīng)用程序,通過(guò)網(wǎng)絡(luò)計(jì)算設(shè)備來(lái)進(jìn)行應(yīng)用,。Java的出現(xiàn)為當(dāng)時(shí)的軟件產(chǎn)業(yè)帶來(lái)了無(wú)限的遐想,。


1996:Java大躍進(jìn),盟主地位就此定
文/馬偉

SUN在1996年一開(kāi)始首先成立了JavaSoft組織,,并在1月23日正式發(fā)布自己的Java 1.0,,作為20世紀(jì)業(yè)界出現(xiàn)的最重要的技術(shù)之一,Java引起了編程世界的革命,。直到現(xiàn)在,,Java仍然是互聯(lián)網(wǎng)上最流行的語(yǔ)言。
在Sun正式發(fā)布Java 1.0之后,,Java這門(mén)新生的語(yǔ)言就擁有了自己的會(huì)議——JavaOne,,這次會(huì)議初試啼音就吸引了600多名參與者。除了擁有這么多的積極參與者來(lái)進(jìn)行Java的開(kāi)發(fā)之外,,各大知名公司也紛紛向Sun申請(qǐng)Java的許可,。一時(shí)間,NetScape,、惠普,、IBM、Oralce,、Sybase甚至當(dāng)時(shí)剛推出Windows 95的微軟都是Java的追隨者,。
Java的應(yīng)用就像是世界上的頂級(jí)玩家們組成的一個(gè)公開(kāi)聯(lián)盟,告訴全世界我們大家就是都在用著Java,。也正是因?yàn)槿绱?,Java也找到了自己的歸宿。現(xiàn)在的J2EE已經(jīng)成為中大型企業(yè)級(jí)應(yīng)用的標(biāo)準(zhǔn),,成為承接數(shù)據(jù)庫(kù)和Web之間的一個(gè)重要橋梁,。
當(dāng)年Java的機(jī)會(huì)實(shí)在太多了,以至于很難知道到底該做什么,。最終Java在應(yīng)用服務(wù)器市場(chǎng)獲得了難以取代的地位,,也確定了J2EE的發(fā)展方向,,并且仍將延續(xù)下去。


1997-2001:  微軟與Sun的Java官司
文/孟巖

Java誕生的1995年,,正是微軟在軟件產(chǎn)業(yè)地位達(dá)到巔峰的時(shí)代,,Windows 95發(fā)布時(shí)的風(fēng)光場(chǎng)面給人們留下的深刻印象至今難忘。盡管如此,,作為最卓越的技術(shù)領(lǐng)袖,,比爾?蓋茨仍然敏銳地注意到Java。當(dāng)他了解了Java的一些細(xì)節(jié)之后,,給予了這樣的評(píng)價(jià):“Java是很長(zhǎng)時(shí)間以來(lái)最優(yōu)秀的程序設(shè)計(jì)語(yǔ)言,。”基于此,,微軟于1996年3月申請(qǐng)并獲得了Java許可證,。微軟對(duì)于Java的這一熱情態(tài)度在當(dāng)時(shí)大大提高了人們對(duì)Java的興趣和信心,但也有不少人擔(dān)心微軟會(huì)依靠自己強(qiáng)大的影響力在標(biāo)準(zhǔn)之外另立標(biāo)準(zhǔn),,從而破壞Java的純潔性,。
果然,,從1997年發(fā)布Visual J++的第一個(gè)版本開(kāi)始,,微軟就開(kāi)始在Java中摻入自己的私有擴(kuò)展。這毫無(wú)疑問(wèn)引起Sun的高度重視,。1997年10月,,Sun向美國(guó)加州地方法院起訴微軟公司違反兩公司就微軟使用Java技術(shù)所簽定的合同,指控微軟公司在自己的Java產(chǎn)品中做了“不恰當(dāng)?shù)男薷摹?,違反了合同中承諾向用戶(hù)提供Java兼容產(chǎn)品的條款,。這一官司曠日持久,直到2001年1月雙方達(dá)成和解,,微軟將繼續(xù)提供采用Sun開(kāi)發(fā)的Java技術(shù)的現(xiàn)有產(chǎn)品(包括測(cè)試版),。不過(guò),Sun有限制地僅對(duì)包括Java 1.1.4的微軟產(chǎn)品提供許可,。到了2001年7月,,微軟公布新版的Windows XP將不再支持Sun的JVM,并且推出了.NET平臺(tái)與Java分庭抗禮,。
現(xiàn)在回過(guò)頭去看,,當(dāng)時(shí)的這一場(chǎng)官司對(duì)Java世界產(chǎn)生了深遠(yuǎn)的影響。如果沒(méi)有這一場(chǎng)官司,,也許很多Java程序員都在使用Visual J++,,基于WFC開(kāi)發(fā)Windows客戶(hù)端程序,同時(shí)不得不面對(duì)被兩個(gè)不同的事實(shí)標(biāo)準(zhǔn)所分裂的Java世界,。


1998:Java 2平臺(tái)發(fā)布
文/陶文

1998年,,Java 2平臺(tái)正式發(fā)布。經(jīng)過(guò)了三年時(shí)間的發(fā)展、熱熱鬧鬧的攻關(guān)宣傳,、紅紅火火的眾廠商的熱情參與,,Sun終于知道Java適合干什么了。對(duì)比Java剛發(fā)明時(shí)的技術(shù)定位,,與Java的戲劇性觸“網(wǎng)”的那段歷史,,Java 2平臺(tái)的發(fā)布可真算得上是有的放矢了。根據(jù)官方的文檔,,Java 2是Sun意識(shí)到“one size doesn’t fit all”之后,,把最初的Java技術(shù)打包成三個(gè)版本的產(chǎn)物,也就是著名的J2ME,、J2SE,、J2EE。
之所以說(shuō)Java自從Java 2平臺(tái)發(fā)布之后,,進(jìn)入了現(xiàn)代,。那是因?yàn)橹暗臍v史怎么看來(lái)都和現(xiàn)在程序員日常開(kāi)發(fā)使用的技術(shù)無(wú)什么關(guān)系,比如Applet,,已經(jīng)很少有人使用了,。Java 2之后的歷史就不一樣了,至少人們?cè)谕瞥巛p量級(jí)開(kāi)發(fā),,猛批EJB時(shí)還不時(shí)會(huì)引用J2EE這個(gè)詞是如何誕生的,。而Java 2的三大版本中,除了J2EE得到了長(zhǎng)足發(fā)展和廣泛使用之外,,J2ME也在手機(jī)市場(chǎng)上取得了遍地開(kāi)花的結(jié)果,。相較之下,J2SE難免落寞,,只剩SWT這個(gè)血統(tǒng)不純的家伙在Rich Client回歸的時(shí)代吸引著人們的眼球了,。無(wú)論今天看來(lái)當(dāng)時(shí)的Java 2有多么的不成熟,至少經(jīng)過(guò)市場(chǎng)和時(shí)間的檢驗(yàn),,Java 2規(guī)劃出來(lái)的三大方向把Java技術(shù)指向了光明的方向是勿庸置疑的,。


1998:JCP成立并正式運(yùn)作,
Java開(kāi)源社群開(kāi)始蓬勃發(fā)展
文/黃海波

1998年,,JCP組織成立,,并且開(kāi)始把握J(rèn)ava的發(fā)展方向。JCP組織的開(kāi)放性,,不但使得所有對(duì)Java感興趣的商業(yè)公司可以參與Java的發(fā)展,,更重要的是JCP允許個(gè)人、非盈利組織,、學(xué)校等加入,,這就給Java帶來(lái)了巨大的活力,。隨之興起的Java開(kāi)源運(yùn)動(dòng)的最大貢獻(xiàn)是實(shí)現(xiàn)和鼓勵(lì)了知識(shí)共享,在眾多熱情的開(kāi)源程序員們的努力和分享下,,很多原先只被商業(yè)公司掌握的技術(shù),、思想和產(chǎn)品可以被所有需要的開(kāi)發(fā)人員免費(fèi)或者以較低的價(jià)格獲得使用權(quán), 并通過(guò)開(kāi)放源代碼更容易的獲得反饋和改進(jìn)意見(jiàn)從而進(jìn)一步演化發(fā)展。我們知道,,所謂知識(shí)不是孤立發(fā)展認(rèn)知,,而是人們的經(jīng)驗(yàn),認(rèn)識(shí)是思考交流和積累的產(chǎn)物,。而開(kāi)源運(yùn)動(dòng)所帶來(lái)的開(kāi)放,、反饋、交流的風(fēng)氣正是符合人類(lèi)社會(huì)知識(shí)形成和發(fā)展的規(guī)律,。
開(kāi)源運(yùn)動(dòng)起源于西方的發(fā)達(dá)國(guó)家,,有其現(xiàn)實(shí)背景和文化根源。1990年代可以說(shuō)是IT產(chǎn)業(yè)的一個(gè)黃金時(shí)代,。信息時(shí)代的興起對(duì)IT人員,,特別是軟件人員有著巨大的需求。而軟件開(kāi)發(fā)又是一種類(lèi)似藝術(shù)創(chuàng)作的腦力活動(dòng),,和所有的藝術(shù)家,、作家們一樣,在作品打上自己的印記并流傳在世界上是每一個(gè)創(chuàng)作人員的夢(mèng)想,?;ヂ?lián)網(wǎng)時(shí)代下的高收入的舒適生活,早九晚五的編寫(xiě)公司的代碼并不能滿(mǎn)足很多有激情的軟件開(kāi)發(fā)人員的夢(mèng)想,,再加上西方傳統(tǒng)的基督教文化中十分推崇的分享和交流,開(kāi)源的出現(xiàn)和興起也就水到渠成了,。今天,,開(kāi)源運(yùn)動(dòng)已經(jīng)不僅僅是一些個(gè)人天才程序員們的游樂(lè)園地,而是發(fā)展成為一項(xiàng)開(kāi)源軟件產(chǎn)業(yè),。


1998:WebLogic打開(kāi)J2EE的魔匣
文/霍泰穩(wěn)

Java語(yǔ)言的出現(xiàn)使得互聯(lián)網(wǎng)絡(luò)有了良好的交互性能,,但這些很“酷”的技術(shù)僅被人們認(rèn)為是一些小花招,它還無(wú)法消除企業(yè)級(jí)用戶(hù)對(duì)它的懷疑,。1998年,,BEA公司宣布收購(gòu)WebLogic公司,并接著推出由Sun公司第一個(gè)授權(quán)使用J2EE許可證的WebLogic Server應(yīng)用服務(wù)器,,這個(gè)Java版的AppServer一推出就引起業(yè)界極大的興趣,。WebLoigc Server以其對(duì)標(biāo)準(zhǔn)的支持、強(qiáng)悍的運(yùn)算能力和安全的架構(gòu)設(shè)計(jì)等特性也很快征服了那些懷疑J2EE應(yīng)用的人們,。推出市場(chǎng)后不到一年,,WebLogic Server就成為業(yè)內(nèi)第一Java應(yīng)用服務(wù)器,。
這里我們?cè)恍┊?dāng)時(shí)著名咨詢(xún)公司的調(diào)查數(shù)據(jù)來(lái)說(shuō)明問(wèn)題,“在IDC的報(bào)告中,,BEA在應(yīng)用服務(wù)器和交易服務(wù)器領(lǐng)域市場(chǎng)份額第一,;在Gartner的報(bào)告中,BEA WebLogic Server擁有業(yè)內(nèi)最廣泛的EJB應(yīng)用安裝基礎(chǔ),;在Giga Group的報(bào)告中,,BEA WebLogic Server市場(chǎng)份額占32%”。
因?yàn)閼?yīng)用服務(wù)器市場(chǎng)極大的發(fā)展?jié)摿?,在WebLogic Server之后,,其它的很多公司也推出了自己的AppServer,如IBM的WebSphere,、Sun公司的iPlanet等,,逐漸地應(yīng)用服務(wù)器取代了傳統(tǒng)意義上的各類(lèi)中間件,成為企業(yè)應(yīng)用的基礎(chǔ)平臺(tái),。應(yīng)用服務(wù)器的出現(xiàn)使得Java有了真正意義上的發(fā)展,。
 

2002-2004: Sun與微軟的法律碰撞最終以喜劇收?qǐng)?br>文/惡魔

2003年4月2 日,Sun與微軟達(dá)成16億美元的法律和解,。如果不是晚了一天,,許多人會(huì)以為這是一個(gè)在4月1日愚人節(jié)開(kāi)的玩笑。盡管當(dāng)時(shí)所有人都像是看到“太陽(yáng)從西邊出來(lái)了”那樣張大了嘴巴,,但這的確是事實(shí),。
根據(jù)兩家公司達(dá)成的版權(quán)協(xié)議,雙方會(huì)為采用對(duì)方的技術(shù)而支付專(zhuān)利費(fèi)用,,微軟向Sun提前支付3.5億美元使用費(fèi),,Sun則承諾,如果Sun集成微軟的某些技術(shù),,也會(huì)向微軟付款,。
毫無(wú)疑問(wèn),“私下了結(jié)”的方式對(duì)雙方而言都是最好的結(jié)果,。就在協(xié)議簽署的當(dāng)天,,在美國(guó)舊金山由Sun和微軟為“拋棄十年恩怨、攜手合作“舉行的新聞發(fā)布會(huì)上,,盡管比爾?蓋茨沒(méi)有到場(chǎng),,但這并沒(méi)有防礙現(xiàn)場(chǎng)看起來(lái)異常輕松的氣氛。麥克尼利和鮑爾默各自穿了一件密歇根州底特律“Red Wings”曲棍球隊(duì)的運(yùn)動(dòng)服,,并談及了一起在哈佛大學(xué)讀書(shū)的經(jīng)歷,,麥克尼利還說(shuō):“當(dāng)時(shí)我們兩人是非常要好的朋友,當(dāng)然我們也有吵架的時(shí)候,?!比伺c人當(dāng)然可能成為終生的知己,,但是公司與公司之間有的只能是利益上的分分合合。


2000-2004: JBoss和Eclipse
——Java開(kāi)源軟件的王者
文/莫映

Java和開(kāi)源幾乎就是天生的一對(duì),,這可以從無(wú)比興盛繁榮的Java開(kāi)源軟件社區(qū)得到佐證,。目前最有影響力的Java開(kāi)源軟件項(xiàng)目,要數(shù)JBoss和Eclipse,??梢哉f(shuō),幾乎所有的Java開(kāi)發(fā)人員都獲多或少的聽(tīng)到過(guò)或接觸和使用過(guò)它們,。前者是目前最優(yōu)秀,、應(yīng)用最為廣泛的企業(yè)級(jí)開(kāi)源J2EE應(yīng)用服務(wù)器,后者是功能完全可以替代商業(yè)產(chǎn)品的Java IDE,。二者的覆蓋功能之全,、支持工具之廣、子項(xiàng)目之多,,幾乎可以?xún)H憑借它倆來(lái)完成企業(yè)應(yīng)用的開(kāi)發(fā)構(gòu)建到部署實(shí)施的全過(guò)程,,而軟件開(kāi)發(fā)者和客戶(hù)也都可以最大程度上享受高質(zhì)量,高可靠Java開(kāi)源軟件所帶來(lái)的低成本優(yōu)勢(shì),。
JBoss和Eclipse的巨大成功,,幾乎令各自領(lǐng)域的商用競(jìng)爭(zhēng)者抓狂,其中BEA的WebLogic和IBM的WebSphere在商業(yè)利潤(rùn)上受到JBoss的巨大侵蝕,,而B(niǎo)orland的JBuilder,、JetBrains的IDEA等諸多優(yōu)秀的商用開(kāi)發(fā)工具也不得不面對(duì)Eclipse獨(dú)大的現(xiàn)實(shí)。JBoss的CEO兼創(chuàng)始人 Marc Fleury曾直言不諱地表示,,希望占據(jù)市場(chǎng)主導(dǎo)地位,。“我們希望打敗IBM,,成為中間件領(lǐng)域里最大的廠商,。”JBoss在4.0以前還只是以一個(gè)Group存在,,盈利手段主要靠服務(wù)和銷(xiāo)售文檔。但在最近,,JBoss已經(jīng)發(fā)展成為一個(gè)有限公司,,并吸納多家風(fēng)險(xiǎn)投資,專(zhuān)注于獲取利潤(rùn)為目標(biāo)之一的第二代開(kāi)源軟件模式(JBoss自己稱(chēng)為“Professional Open Source”)的創(chuàng)新和運(yùn)營(yíng),。這區(qū)別于以理論研究為愛(ài)好的學(xué)院型開(kāi)源或大公司為基礎(chǔ)的非盈利組織開(kāi)源,,如Linux和Apache。當(dāng)然JBoss的這種運(yùn)營(yíng)方式勢(shì)必會(huì)導(dǎo)致更多的代碼控制和專(zhuān)有修改權(quán),,但按JBoss的說(shuō)法是這樣更能獲得企業(yè)客戶(hù)的信賴(lài),。JBoss的這種模式是否能獲得成功還要我們拭目以待,。
不管JBoss和Eclipse的未來(lái)發(fā)展如何,JBoss和Eclipse的成功已經(jīng)讓我們看到了Java開(kāi)源軟件的威力,,祝愿它們一路走好,。


2004:Java 5.0
文/莫映

2004年9月30日,代號(hào)為“Tiger”,,研發(fā)歷時(shí)近三年的J2SE 5.0發(fā)布正式版本,,這是Java平臺(tái)歷來(lái)發(fā)布版本中改動(dòng)面波及最大的一次。
縱觀Tiger,,“Ease of development”是其核心主題,,這一點(diǎn)著重體現(xiàn)于語(yǔ)言特性上的改進(jìn),這在很大程度上,,簡(jiǎn)化了開(kāi)發(fā)人員日常的編程任務(wù),,以往一些瑣碎的手工勞動(dòng)都代之以輕松自然,而又安全可靠的自動(dòng)化實(shí)現(xiàn),。其中的注解功能,,以及隨之而來(lái)的聲明式編程,還對(duì)構(gòu)筑于J2SE 5.0之上的J2EE 5.0產(chǎn)生了巨大影響,。盡管Tiger在語(yǔ)言特性上做了很大的動(dòng)作,,但作為Java技術(shù)的基礎(chǔ)支撐,這些改動(dòng)都是深思熟慮的結(jié)果,。
Tiger發(fā)布至今也有大半年了,,那么Sun又是如何規(guī)劃J2SE的未來(lái)藍(lán)圖的呢?據(jù)悉,,J2SE的下兩個(gè)版本分別是代號(hào)為“Mustang”的J2SE 6.0和代號(hào)為“Dolphin”的J2SE 7.0,,預(yù)計(jì)Mustang將于明年發(fā)布。在吸取了Tiger研發(fā)周期過(guò)長(zhǎng)的教訓(xùn)之后,,Sun副總裁Graham Hamilton表示,,Mustang的發(fā)布周期將不會(huì)那么長(zhǎng)。并且,,Sun還將“Becoming more open” 作為Mustang的主題之一,。未來(lái)JCP對(duì)Java技術(shù)的影響將會(huì)愈加深入,而整個(gè)研發(fā)過(guò)程也將會(huì)愈加透明,。Mustang在正式發(fā)布前的內(nèi)部版本也會(huì)陸續(xù)見(jiàn)諸于眾,,如此,廣大Java開(kāi)發(fā)者便可以更加及時(shí)的了解到Java發(fā)展的最新情況,。在語(yǔ)言層面上的擴(kuò)展依然會(huì)比較謹(jǐn)慎,,比如像AOP這樣的當(dāng)下熱門(mén)技術(shù),依然不太可能會(huì)見(jiàn)諸其中,。據(jù)Hamilton所言,,一個(gè)有可能被引入的語(yǔ)法特性被稱(chēng)作“friends”import機(jī)制,,它將使由多個(gè)包組成的大型項(xiàng)目變得易于管理。

 

 

十大人物

James Gosling : Java之父
文/陶文

作為Java之父,,James Gosling的名字可謂是耳熟能詳,。當(dāng)人們?cè)u(píng)論一種編程語(yǔ)言時(shí),總喜歡捎帶著把下蛋的母雞一起帶上,。Java做為中國(guó)的編程語(yǔ)言學(xué)習(xí)者餐桌上有限的那么幾樣餐點(diǎn)中的流行款式,,自然是讓James Gosling風(fēng)光不已。雖然James Gosling現(xiàn)在已經(jīng)不是領(lǐng)導(dǎo)Java發(fā)展潮流的領(lǐng)軍人物了,,做為Sun的開(kāi)發(fā)者產(chǎn)品組的CTO,,怎么算來(lái)也是身居高位了,俗事纏身吧,,但是這并不妨礙其對(duì)于Java一如既往的愛(ài)護(hù),,表達(dá)著各式各樣鮮明的觀點(diǎn),引發(fā)一場(chǎng)又一場(chǎng)的爭(zhēng)論,。
James Gosling是很愛(ài)Java的——是啊,,哪有當(dāng)父母的不愛(ài)自己的孩子的呢。James Gosling也是很愛(ài)Sun的——是啊,,哪有當(dāng)領(lǐng)導(dǎo)的不愛(ài)自己的公司的呢,。于是我們?cè)谂u(píng).NET的安全性的隊(duì)伍前頭,在褒揚(yáng)Java性能的隊(duì)伍前頭,,在抨擊SWT開(kāi)倒車(chē)的隊(duì)伍前頭,,在給NetBeans大唱贊歌的隊(duì)伍前頭,我們都看到了James Gosling的身影,。無(wú)論對(duì)錯(cuò),、偏見(jiàn)或者固執(zhí),至少說(shuō)明了Gosling的鮮明個(gè)性絲毫沒(méi)有受到年齡的影響,。也許也只有這種天才而偏執(zhí)的人物才能創(chuàng)造出Java這般偉大的語(yǔ)言來(lái)吧,。
 

Bill Joy : 軟件業(yè)的愛(ài)迪生
文/徐昊

Joy生于1954年,1982年與Vinod Khosla, Scott McNealy和Andy Bechtolsheim一起創(chuàng)建了Sun Microsystems,,并從那時(shí)起擔(dān)任首席科學(xué)家,,直到2003年離開(kāi)。他是一位令人崇敬的軟件天才,,他在軟件和硬件的歷史上留下了無(wú)數(shù)令人仰止的傳奇,。
在上個(gè)世紀(jì)80年代早期,DARPA與BBN達(dá)成協(xié)議,,準(zhǔn)備將Vinton Cerf和Bob Kahn設(shè)計(jì)的TCP/IP協(xié)議添加到Berkeley UNIX中。Bill Joy被委派來(lái)完成這項(xiàng)任務(wù),,然而他卻拒絕將BBN的TCP/IP協(xié)議棧添加到BSD中,,因?yàn)樵谒难壑蠦BN的TCP/IP實(shí)現(xiàn)還遠(yuǎn)不夠好,,于是他就寫(xiě)了一個(gè)高性能的TCP/IP協(xié)議棧。John Gage回憶道,,“BBN和DARPA簽署了巨額合同來(lái)實(shí)現(xiàn)TCP/IP協(xié)議,,然而他們的員工所編寫(xiě)的代碼遠(yuǎn)沒(méi)有一個(gè)研究生所做的好。于是他們邀請(qǐng)Bill Joy參加他們的一個(gè)會(huì)議,,這位研究生穿著一件T-Shirt就出現(xiàn)了,,他們?cè)儐?wèn)他,‘你是如何做到的呢,?’Bill回答說(shuō),,‘這是非常簡(jiǎn)單的一件事,你讀一下協(xié)議然后就可以編碼了’”,。除了TCP/IP協(xié)議,,基于分頁(yè)的虛擬內(nèi)存系統(tǒng)最早也是由Bill Joy添加到Berkeley UNIX內(nèi)核當(dāng)中的。同時(shí)他還是vi,、csh,、早期Pascal編譯器的作者。
關(guān)于Bill Joy驚人的軟件才能流傳最廣的一個(gè)傳奇是,,據(jù)說(shuō)他在上研究生的時(shí)候,,想看看自己能不能寫(xiě)一個(gè)操作系統(tǒng)出來(lái),于是就在三天里寫(xiě)了一個(gè)非常簡(jiǎn)陋,,但是可以使用的Unix系統(tǒng), 傳說(shuō)就是BSD的前身,。雖然如此夸張的才情令人難以置信,但是考慮到主角是Bill Joy,,還是有一定的可信度的,。Bill Joy碩士畢業(yè)之后,決定到工業(yè)界發(fā)展,,于是就到了當(dāng)時(shí)只有一間辦公室的Sun, 他作為主要設(shè)計(jì)者參與了SPARC微處理器的設(shè)計(jì),,負(fù)責(zé)設(shè)計(jì)最為關(guān)鍵的一部分電路。這樣兼精軟硬件的天才實(shí)在是讓人不得不佩服啊,。1995年,,Sun發(fā)布了轟動(dòng)世界的Java語(yǔ)言。當(dāng)然,,Bill Joy對(duì)Java也作出了不少的貢獻(xiàn),,首先是JINI——一種針對(duì)分布式服務(wù)的基礎(chǔ)連接技術(shù)。任何可以?xún)?nèi)嵌JVM的電子設(shè)備都可以通過(guò)JINI相互連接,;JXTA是基于Java的P2P協(xié)議,,允許互聯(lián)網(wǎng)上的軟件進(jìn)行點(diǎn)對(duì)點(diǎn)交流和協(xié)作。
這個(gè)其貌不揚(yáng)的瘦高個(gè),有著凌亂的亞麻色頭發(fā),,被《財(cái)富》雜志譽(yù)為“網(wǎng)絡(luò)時(shí)代的愛(ài)迪生”的技術(shù)狂人,,在短短的二十年間,創(chuàng)造了無(wú)數(shù)令人心動(dòng)的軟件,。在MIT的BBS上曾有一個(gè)帖子,,說(shuō)微軟電話(huà)面試有一道題,問(wèn)“Who do you think is the best coder, and why?”雖然回復(fù)的帖子中大家都聲明列舉的best coder排名不分先后,,然而大多數(shù)人仍把Bill Joy列在第一位,,或許可以從一個(gè)側(cè)面驗(yàn)證Bill Joy在廣大Programmer心目中的地位吧。


Joshua Bloch :  Java 2 元?jiǎng)?/font>
文/莫映

早在1996年,,適逢Java剛剛嶄露頭角,,年內(nèi)好事連連。先是1月份發(fā)布JDK 1.0,,然后是5月底在舊金山召開(kāi)首屆JavaOne大會(huì),,年末又是JDK 1.1緊跟其后。正是在Java技術(shù)如火如荼,、大展拳腳的背景之下,,Joshua Bloch來(lái)到了Sun,開(kāi)始了他帶領(lǐng)Java社區(qū)步入“迦南美地”的漫長(zhǎng)歷程,。
很快,,他被從安全組調(diào)入核心平臺(tái)組,從事底層API設(shè)計(jì),。至此以后,,每逢JDK的重大版本發(fā)布,總能在其中見(jiàn)到Joshua的“妙筆”,。JDK 1.1中的java.math,、1.4中的assertions,還有大家所熟識(shí)的Collections Framework皆是Joshua一手打造。其中的Collections Framework還獲得了當(dāng)年的Jolt大獎(jiǎng)。到了J2SE 5.0研發(fā)階段,,身為平臺(tái)組構(gòu)架師的Joshua接掌了Tiger大旗,其核心地位已然無(wú)人可以替代,。作為T(mén)iger的代言人和領(lǐng)路人,沒(méi)有誰(shuí)比Joshua更清楚Tiger,。相信大家一定還記得Joshua當(dāng)年仿效英國(guó)詩(shī)人William Blake所做的詠Tiger詩(shī)八首,,優(yōu)雅的筆調(diào),透出大師深厚底蘊(yùn)的同時(shí),,也道出了Tiger的幾大重要特性,,這些特性是自JDK 1.1引入Inner Class以來(lái),,Java最大的語(yǔ)法改進(jìn)。
Java風(fēng)雨十年,,從JDK 1.1到J2SE 5.0,,Joshua實(shí)在功不可沒(méi)。難怪有人戲言,,假如將James Gosling比作Java之父,那么Joshua就是一手將Java “哺育”成人的Java之母,。Joshua對(duì)Java的貢獻(xiàn)還不止于JDK,,提起他的大作《Effective Java》(Addison Wesley, 2001),相信Java粉絲們一定耳熟能詳,。該書(shū)榮膺2002年度Jolt大獎(jiǎng),,且備受James Gosling推崇。書(shū)中57條頗具實(shí)用價(jià)值的經(jīng)驗(yàn)規(guī)則,,來(lái)自Joshua多年來(lái)在JDK開(kāi)發(fā)工作中,,尤其是Collections Framework設(shè)計(jì)中的實(shí)踐心得,各個(gè)有理有據(jù),,剖析深入,,也足見(jiàn)其深厚功力。該書(shū)對(duì)Java社群的影響,,猶如C++社群中的《Effective C++》,。Joshua對(duì)JCP的貢獻(xiàn)也不小。他是JSR201和JSR175的領(lǐng)導(dǎo)者,,前者包含了Tiger四大語(yǔ)言特性,,后者則為Java提供了元數(shù)據(jù)支持。此外,,他還是JSR166的發(fā)起人之一(該JSR由Doug Lea領(lǐng)導(dǎo)),,并且是許多其他JSR的參與者。Joshua目前是JCP為數(shù)不多的幾個(gè)執(zhí)行委員會(huì)成員之一,。
Joshua Bloch給人的印象是謙遜平和,,行事低調(diào)而不喜拋頭露面,一個(gè)典型的技術(shù)人員和實(shí)干家,。不過(guò)即便如此,,也絲毫不會(huì)減弱他對(duì)Java技術(shù)的卓越貢獻(xiàn)和對(duì)Java社區(qū)的絕對(duì)影響力。有人說(shuō),,如果他能更彰顯一些,,就很有可能成為Java開(kāi)發(fā)者中的領(lǐng)軍人物,就有如Don Box之于微軟社群,。
2004年7月初,,就在Tiger發(fā)布在即之時(shí),,就在Jusha Bloch剛剛榮獲Sun“杰出工程師(Distinguished Engineer)”的稱(chēng)號(hào)之時(shí),他突然離開(kāi)Sun而去了正值發(fā)展態(tài)勢(shì)迅猛的Google,。當(dāng)他離開(kāi)Sun的消息在TSS發(fā)布之后,,眾多擁躉表達(dá)了懷念與不舍之情。一年過(guò)去了,,我們還沒(méi)有獲知Joshua的任何近聞,,似乎又是他行事低調(diào)的一貫作風(fēng)所致,不知他在Google狀況如何,。希望Joshua依然能繼續(xù)“摩西未盡的事業(yè)”,,以他的影響力推動(dòng)Java社群繼續(xù)前行。據(jù)稱(chēng),,《Effective Java》的下一版會(huì)加入Java 5.0的部分,,讓我們翹首以待吧。


Bruce Eckel : 功勛卓著的機(jī)會(huì)主義分子
文/孟巖

Bruce Eckel原本是一位普通的匯編程序員,。不知道是什么因緣際會(huì),,他轉(zhuǎn)行去寫(xiě)計(jì)算機(jī)技術(shù)圖書(shū),卻在此大紅大紫,。他成功的秘訣不外乎兩點(diǎn):超人的表達(dá)能力和捕捉機(jī)會(huì)的能力,。他最早的一本書(shū)是1990年代初期的《C++ Inside & Out》,隨后,,在1995年他寫(xiě)出了改變自己命運(yùn)的《Thinking in C++》,。如果說(shuō)這本書(shū)充分表現(xiàn)了他作為優(yōu)秀技術(shù)作家的一面,那么隨后他寫(xiě)作《Thinking in Java》并因此步入頂級(jí)技術(shù)作家行列,,則體現(xiàn)了他作為優(yōu)秀的機(jī)會(huì)主義分子善于捕捉機(jī)會(huì)的另一面,。寫(xiě)作中擅長(zhǎng)舉淺顯直接的小例子來(lái)說(shuō)明問(wèn)題,語(yǔ)言生動(dòng),,娓娓道來(lái),,特別適合于缺乏實(shí)踐經(jīng)驗(yàn)的初學(xué)者。因此《Thinking in Java》儼然成為天字第一號(hào)的Java教科書(shū),,對(duì)Java的普及與發(fā)展發(fā)揮著不可忽略的作用,。不過(guò)公允地說(shuō),Bruce Eckel的書(shū)欠深刻,。比如在“Thinking in…”系列中對(duì)設(shè)計(jì)模式的解說(shuō)就有失大師水準(zhǔn),。這一方面是因?yàn)闀?shū)的定位非常清晰,另一方面也是因?yàn)锽ruce太過(guò)分心趕潮流,,未能深入之故,。TIJ之后,他預(yù)言Python將火,,就匆匆跑去寫(xiě)了半本《Thinking in Python》,。后來(lái)Python并未如期而旺,,于是他也就把書(shū)稿撂在那里不過(guò)問(wèn)了,機(jī)會(huì)主義的一面暴露無(wú)遺,。我們也可以善意的猜測(cè)一下,,他的下一個(gè)投機(jī)對(duì)象會(huì)是什么呢?Ruby,?.NET,?MDA?總之,,是什么我都不奇怪,。


Rickard Oberg :J2EE奇才
文/熊節(jié)

Oberg的作品很多,流行的代碼生成工具XDoclet和MVC框架WebWork都出自他的手筆,。這兩個(gè)框架有一個(gè)共同的特點(diǎn),即它們的功能雖然簡(jiǎn)單,,但設(shè)計(jì)都非常優(yōu)雅靈活,,能夠很方便地?cái)U(kuò)展新功能甚至移植到新環(huán)境下使用。優(yōu)雅的設(shè)計(jì)源自O(shè)berg的過(guò)人才華,,簡(jiǎn)單的功能則折射出他玩世不恭的人生態(tài)度,。正是這兩種特質(zhì)的融合,才造就了這個(gè)不世出的奇才,。
1999年,,JDK 1.3發(fā)布,其中帶來(lái)了一個(gè)重要的新特性:動(dòng)態(tài)代理(Dynamic Proxy),。當(dāng)所有人都還在對(duì)這項(xiàng)新技術(shù)的用途感到迷惑時(shí),,Oberg發(fā)現(xiàn)用它便可以輕松攻克EJB容器實(shí)現(xiàn)中的一些難關(guān)。這一發(fā)現(xiàn)的產(chǎn)物就是一本《Mastering RMI》,,以及大名鼎鼎的JBoss應(yīng)用服務(wù)器,。但Oberg很快又讓世人見(jiàn)識(shí)了他的玩世不恭。由于和總經(jīng)理Marc Fleury在經(jīng)營(yíng)理念上不合,,Oberg抱怨“法國(guó)的天空總讓我感到壓抑”,,甩手離開(kāi)了自己一手打造的JBoss。此后的幾年里,,他和老友Hani Suleiman不斷地對(duì)JBoss的“專(zhuān)業(yè)開(kāi)源”模式和Marc Fleury的商人味道冷嘲熱諷,,讓眾人為他的孩子氣扼腕嘆息。
2002年10月,,微軟推出Petstore示例應(yīng)用的.NET版本,,并宣稱(chēng)其性能比Java Petstore高出數(shù)倍。正是Oberg深入分析這個(gè)示例應(yīng)用的源代碼,,在第一時(shí)間指出它大量運(yùn)用了SQL Server專(zhuān)有的特性,,性能對(duì)比根本不具參考價(jià)值,。后來(lái)Oberg又先后關(guān)注了AOP和IoC容器,兩者都成為了J2EE架構(gòu)的新寵,。
 

Doug Lea : 世界上對(duì)Java影響力最大的個(gè)人
文/KIT

如果IT的歷史,,是以人為主體串接起來(lái)的話(huà),那么肯定少不了Doug Lea,。這個(gè)鼻梁掛著眼鏡,,留著德王威廉二世的胡子,臉上永遠(yuǎn)掛著謙遜靦腆笑容,,服務(wù)于紐約州立大學(xué)Oswego分校計(jì)算器科學(xué)系的老大爺,。
說(shuō)他是這個(gè)世界上對(duì)Java影響力最大的個(gè)人,一點(diǎn)也不為過(guò),。因?yàn)閮纱蜫ava歷史上的大變革,,他都間接或直接的扮演了舉足輕重的腳色。一次是由JDK 1.1到JDK 1.2,,JDK1.2很重要的一項(xiàng)新創(chuàng)舉就是Collections,,其Collection的概念可以說(shuō)承襲自Doug Lea于1995年發(fā)布的第一個(gè)被廣泛應(yīng)用的collections;一次是2004年所推出的Tiger,。Tiger廣納了15項(xiàng)JSRs(Java Specification Requests)的語(yǔ)法及標(biāo)準(zhǔn),,其中一項(xiàng)便是JSR-166。JSR-166是來(lái)自于Doug編寫(xiě)的util.concurrent包,。
值得一提的是: Doug Lea也是JCP (Java小區(qū)項(xiàng)目)中的一員,。
Doug是一個(gè)無(wú)私的人,他深知分享知識(shí)和分享蘋(píng)果是不一樣的,,蘋(píng)果會(huì)越分越少,,而自己的知識(shí)并不會(huì)因?yàn)榻o了別人就減少了,知識(shí)的分享更能激蕩出不一樣的火花,?!禘ffective JAVA》這本Java經(jīng)典之作的作者Joshua Blosh便在書(shū)中特別感謝Doug是此書(shū)中許多構(gòu)想的共鳴板,感謝Doug大方分享豐富而又寶貴的知識(shí),。這位并發(fā)編程的大師級(jí)人物的下一步,,將會(huì)帶給Java怎樣的沖擊,不禁令人屏息以待,。


Scott McNealy :SUN十年來(lái)的掌舵者
文/KIT

McNealy,,Sun的CEO、總裁兼董事長(zhǎng),。他曾經(jīng)狂傲的說(shuō):“摧毀微軟是我們每個(gè)人的任務(wù),。”這位英勇的硅谷英雄,,似乎帶頭起義,,試圖組織一個(gè)反微軟陣線(xiàn)聯(lián)盟,,以對(duì)抗微軟這股龐大的托拉斯惡勢(shì)力。他時(shí)??诔鲶@人之語(yǔ),,在公開(kāi)場(chǎng)合大肆的批評(píng)微軟,并曾經(jīng)說(shuō)微軟的.NET是.NOT,。
Scott McNealy先后畢業(yè)于哈佛大學(xué)及史丹佛大學(xué),,分別持有經(jīng)濟(jì)學(xué)學(xué)士學(xué)位及企管碩士。1982年MBA畢業(yè)的他和三個(gè)同學(xué)共同合伙創(chuàng)建了Sun,,并于1984年成為Sun的執(zhí)行官,。“要么吞了別人,,不然就被別人吞了”是Scott McNealy的名言錄之一,。他擅長(zhǎng)以信念帶動(dòng)員工,鼓舞士氣,。極富自信的他,,對(duì)于認(rèn)定的事,總是堅(jiān)持自己的想法,,因此有人形容他是一個(gè)剛愎自用的決策者。
身為Sun這艘船的掌舵者,,Scott McNealy能夠看多遠(yuǎn),,Sun就能走多遠(yuǎn)。Scott McNealy認(rèn)為將來(lái)軟件界是一個(gè)只有服務(wù),,沒(méi)有產(chǎn)品的世代,。他希望打造出Sun不是一個(gè)純靠硬件賺錢(qián)的公司。從Open Source到Open Solaris,,Sun希望可以成為提供整合性解決方案的服務(wù)廠商,。Solaris 10 + UltraSPARC是否可以像Scott McNealy希望的是下一匹世紀(jì)黑馬呢?Sun是否能以股價(jià)來(lái)證明華爾街分析師及普羅大眾的誹短流長(zhǎng),?Scott McNealy是否能帶領(lǐng)著Sun成為繼微軟之后的下一個(gè)巨人,,一場(chǎng)場(chǎng)IT界的爭(zhēng)霸戰(zhàn)值得我們拭目以待。


Rod Johnson : 用一本書(shū)改變了Java世界的人
文/ 劉鐵鋒

Rod在悉尼大學(xué)不僅獲得了計(jì)算機(jī)學(xué)位,,同時(shí)還獲得了音樂(lè)學(xué)位,。更令人吃驚的是在回到軟件開(kāi)發(fā)領(lǐng)域之前,他還獲得了音樂(lè)學(xué)的博士學(xué)位,。有著相當(dāng)豐富的C/C++技術(shù)背景的Rod早在1996年就開(kāi)始了對(duì)Java服務(wù)器端技術(shù)的研究,。他是一個(gè)在保險(xiǎn)、電子商務(wù)和金融行業(yè)有著豐富經(jīng)驗(yàn)的技術(shù)顧問(wèn),,同時(shí)也是JSR-154(Servlet 2.4)和JDO 2.0的規(guī)范專(zhuān)家,、JCP的積極成員,。
真正引起了人們的注意的,是在2002年Rod Johnson根據(jù)多年經(jīng)驗(yàn)撰寫(xiě)的《Expert One-on-One J2EE Design and Development》,。其中對(duì)正統(tǒng)J2EE架構(gòu)的臃腫,、低效的質(zhì)疑,引發(fā)了人們對(duì)正統(tǒng)J2EE的反思,。這本書(shū)也體現(xiàn)了Rod Johnson對(duì)技術(shù)的態(tài)度,,技術(shù)的選擇應(yīng)該基于實(shí)證或是自身的經(jīng)驗(yàn),而不是任何形式的偶像崇拜或者門(mén)戶(hù)之見(jiàn),。正是這本書(shū)真正地改變了Java世界,。基于這本書(shū)的代碼,,Rod Johnson創(chuàng)建了輕量級(jí)的容器Spring,。Spring的出現(xiàn),使得正統(tǒng)J2EE架構(gòu)一統(tǒng)天下的局面被打破,?;赟truts+Hibernate+Spring的J2EE架構(gòu)也逐漸得到人們的認(rèn)可,甚至在大型的項(xiàng)目架構(gòu)中也逐漸開(kāi)始應(yīng)用,。
Rod Johnson的新作《Expert One-on-one J2EE Development without JEB》則更讓人吃驚,,單單“Without EJB”一詞就會(huì)讓大多數(shù)J2EE架構(gòu)師大跌眼鏡了。不過(guò)Rod Johnson可能僅僅是想通過(guò)“Without EJB”一詞表明應(yīng)該放開(kāi)門(mén)戶(hù)之見(jiàn),。這也是Rod Johnson一貫的作風(fēng),,。也許正是這種思想,,促使得Rod Johnson創(chuàng)建了Spring,,真正改變了Java世界。

 

Alan Kay :Java的精神先鋒
文/徐昊

Sun的官方Java教材中有一句話(huà),,說(shuō)Java是“C++的語(yǔ)法與Smalltalk語(yǔ)義的結(jié)合”,。而Smalltalk的創(chuàng)造者就是Alan Kay。
Alan Kay于1970年加入Xerox公司的Palo Alto研究中心,。早在70年代初期,,Alan Kay等人開(kāi)發(fā)了世界上第二個(gè)面向?qū)ο笳Z(yǔ)言Smalltalk,因此,,Alan Kay被譽(yù)為Smalltalk之父,。2003年,Alan Key因?yàn)樵诿嫦驅(qū)ο蟪绦蛟O(shè)計(jì)上的杰出貢獻(xiàn),,獲得了有計(jì)算機(jī)界的諾貝爾獎(jiǎng)之稱(chēng)的ACM Turing Award,。
Alan Kay成名于Smapltalk和OOP,而Java雖然在語(yǔ)言上類(lèi)似于C,但是在語(yǔ)義上非常接近Smalltalk,,很多Java中的設(shè)計(jì)思想在Alan Kay的文獻(xiàn)中找到根源,,也有些人將Alan Kay尊為Java思想的先驅(qū)。不過(guò)遺憾的是似乎Alan Kay老先生對(duì)Java并不買(mǎi)賬,,反倒攻擊說(shuō)Java是存在致命缺陷的編程語(yǔ)言,,Java的成功不是由于Java本身的內(nèi)在價(jià)值,而是其商業(yè)化的成功,。Alan Kay欣賞的是Lisp,,他認(rèn)為L(zhǎng)isp是軟件的麥克斯韋方程,其中的許多想法是軟件工程和計(jì)算機(jī)科學(xué)的一部分,??磥?lái)?yè)碛蠥lan Kay這樣一位重量級(jí)的Java先驅(qū)仍是我們Java一廂情愿的單戀吧。

 

Kent Beck : 領(lǐng)導(dǎo)的敏捷潮
文:劉鐵鋒

Beck全家似乎都彌漫著技術(shù)的味道,。生長(zhǎng)在硅谷, 有著一個(gè)對(duì)無(wú)線(xiàn)電癡迷的祖父,,以及一個(gè)電器工程師父親。從小就引導(dǎo)Kent Beck成為了業(yè)余無(wú)線(xiàn)電愛(ài)好者,。
在俄勒岡州大學(xué)讀本科期間,,Kent Beck就開(kāi)始研究起模式。然而在他最終拿到計(jì)算機(jī)學(xué)位之前,,他卻是在計(jì)算機(jī)和音樂(lè)中交替學(xué)習(xí),。似乎Java大師都能夠有這樣的能耐,另一Java大牛Rod Johnson同樣也擁有音樂(lè)學(xué)的博士學(xué)位,。
Kent Beck一直倡導(dǎo)軟件開(kāi)發(fā)的模式定義,。早在1993年,他就和Grady Booch(UML之父)發(fā)起了一個(gè)團(tuán)隊(duì)進(jìn)行這個(gè)方面的研究,。雖然著有了《Smalltalk Best Practice Patterns》一書(shū),但這可能并不是Kent Beck最大的貢獻(xiàn),。他于1996年在DaimlerChrysler啟動(dòng)的關(guān)于軟件開(kāi)發(fā)的項(xiàng)目,,才真正地影響后來(lái)的軟件開(kāi)發(fā)。這次的杰作就是XP(極限編程)的方法學(xué),。
和軟件開(kāi)發(fā)大師Martin Fowler合著的《Planning Extreme Programming》可謂是關(guān)于XP的奠基之作,。從此,一系列的作品如《Test Driven Development: By Example》,,《Extreme Programming Explained: Embrace Change》讓更多的人領(lǐng)略到了極限編程的精髓,,也逐步導(dǎo)致了極限編程的流行。
Kent Beck的貢獻(xiàn)遠(yuǎn)不僅如此,。對(duì)于眾多的Java程序員來(lái)說(shuō),,他和Erich Gamma共同打造的JUnit,意義更加重大。也許正式這個(gè)簡(jiǎn)單而又強(qiáng)大的工具,,讓眾多的程序員更加認(rèn)可和信賴(lài)極限編程,,從而引起了Java敏捷開(kāi)發(fā)的狂潮吧。


 十大產(chǎn)品

Sun JDK :Java的基石
文/莫映

眾所周知,,流傳于市的JDK不單Sun一家,,比如IBM的JDK、BEA的JRocket,、GNU的GCJ,,以及如Kaffe這樣的開(kāi)源實(shí)現(xiàn),不一而足,。但是,,根正苗紅的Sun官方JDK一直以來(lái)都是備受矚目的主流,它對(duì)Java社區(qū)的影響也是舉足輕重,。
1996年1月,,Sun在成立了JavaSoft部門(mén)之后,推出了JDK 1.0,,這是Sun JDK(Java Development Kit)的首個(gè)正式版本;當(dāng)年12月,,JDK1.1出爐。該版除了對(duì)前序版本部分特性做了改進(jìn)以外,,重寫(xiě)了AWT,,采用了新的事件模型。1998年12月,,JDK 1.2正式發(fā)布,。此時(shí)的類(lèi)庫(kù)日臻完善,API已從當(dāng)初的200個(gè)類(lèi)發(fā)展到了1600個(gè)類(lèi),。在1.2版本中引入了用100%純Java代碼寫(xiě)就的Swing,,同時(shí),,Sun將Java更名為Java 2,。
1999年,,Java 技術(shù)形成了J2SE、J2EE和J2ME三大格局,。Sun向世人公布了Java HotSpot性能引擎技術(shù)的研究成果,。HotSpot旨在進(jìn)一步改善JVM性能,提高Java ByteCode的產(chǎn)生品質(zhì),,加快Java應(yīng)用程序的執(zhí)行速度,。J2SE 1.3發(fā)布于2000年,;2002年2月間,,J2SE 1.4問(wèn)世,,這是有JCP參與以來(lái)首個(gè)J2SE的發(fā)行版本,。2004年9月30日,,代號(hào)為“Tiger”的J2SE 5.0終于出籠了,這次發(fā)布被譽(yù)為Java平臺(tái)歷來(lái)發(fā)布中特性變動(dòng)最大的一次。包括泛型在內(nèi)的若干重大語(yǔ)法改進(jìn),、元數(shù)據(jù)支持,,包括多線(xiàn)程,、JDBC在內(nèi)的多項(xiàng)類(lèi)庫(kù)改進(jìn),都令廣大Java程序員激動(dòng)不已。自此,Sun的官方JDK(J2SE Development Kit)已經(jīng)步入了一個(gè)新的高度。

 

Eclipse :以架構(gòu)贏天下
文/惡魔

IBM是在2001年以4000萬(wàn)美元種子基金成立Eclipse聯(lián)盟,,并且捐贈(zèng)了不少程序代碼。如今,該組織有91個(gè)會(huì)員,,包含許多全球最大的軟件商,。根據(jù)Evans Data公司的資料,Eclipse是目前最受歡迎的Java開(kāi)發(fā)工具,。
Java廠商若要共同對(duì)抗微軟,,彼此之間就要有共同的開(kāi)發(fā)工具才行,。
在Eclipse平臺(tái)上,程序員可使用好幾種不同的語(yǔ)言,。在前端方面,,用戶(hù)可整合多種工具來(lái)撰寫(xiě)Plug-in程序或Unit Test。Eclipse最大的特色就在于其完全開(kāi)放的體系結(jié)構(gòu),,這代表任何人都可下載并修改程序代碼,,給Eclipse寫(xiě)插件,讓它做任何你能想到的事情,,即所謂“Design for everything but nothing in particular”。
Eclipse基金會(huì)的架構(gòu)比較特別,,反映出企業(yè)現(xiàn)今對(duì)于開(kāi)放原始碼計(jì)劃也越來(lái)越積極主動(dòng),。Eclipse不像一般開(kāi)放源碼軟件容許個(gè)人的捐獻(xiàn)程序,,該基金會(huì)是由廠商主導(dǎo),。不論是董事會(huì)成員或者是程序贊助者幾乎都來(lái)自于獨(dú)立軟件開(kāi)發(fā)商(ISVs)的員工,。
Eclipse首席執(zhí)行官M(fèi)ike Milinkovich說(shuō),,這種廠商會(huì)員制是特意設(shè)計(jì)的,;他說(shuō)Eclispe軟件開(kāi)發(fā)快速就是因?yàn)闀?huì)員制的關(guān)系,同時(shí)又加上開(kāi)放源碼開(kāi)發(fā)模式的臨門(mén)一腳。這與一般透過(guò)標(biāo)準(zhǔn)組織的做法全然不同,。 這其實(shí)正好驗(yàn)證了一句老話(huà):“開(kāi)放即標(biāo)準(zhǔn)”,。


JUnit/Ant : 讓Java自動(dòng)化的絕代雙驕
文/劉鐵鋒

在Java程序員必備的工具中,,共 同擁有且交口稱(chēng)贊的恐怕就非JUnit,、Ant莫屬了。一個(gè)是單元測(cè)試的神兵利器,,一個(gè)是編譯部署的不二之選,,它們讓Java的開(kāi)發(fā)更簡(jiǎn)單,。
JUnit由XP和TDD的創(chuàng)始人、軟件大師Kent Back以及Eclipse架構(gòu)師之一,、設(shè)計(jì)模式之父Erich Gamma共同打造,。名家的手筆和理念使得JUnit簡(jiǎn)單而強(qiáng)大,它將Java程序員代入了測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的時(shí)代,。JUnit連任了2001,、2002年“Java World編輯選擇獎(jiǎng)”以及2003年“Java World最佳測(cè)試工具”和2003年“Java Pro最佳Java測(cè)試工具”等眾多獎(jiǎng)項(xiàng),深受Java程序員好評(píng),。
Ant是開(kāi)源項(xiàng)目的典范,,它讓IDE的功能更加強(qiáng)大,從Sun的NetBeans到JBuilder,主流的IDE中處處都有它的身影,?!癆nother Neat Tool”原是它的本名,但這已經(jīng)漸漸不為人知,。它徹底地讓部署自動(dòng)化,,而程序員需要做的僅僅是幾條簡(jiǎn)單的配置命令。和JUnit一樣,Ant也榮獲了眾多的殊榮:2003年JavaWorld“最有用的Java社區(qū)開(kāi)發(fā)的技術(shù)編輯選擇獎(jiǎng)”, 2003年Java Pro“最有價(jià)值的Java部署技術(shù)讀者選擇獎(jiǎng)”,,2003年“JDJ編輯選擇獎(jiǎng)”,,也讓Ant受到的多方的認(rèn)可。
Ant對(duì)JUnit的全面集成,則使得一切都變得更加完美,。只需簡(jiǎn)單地配置,,從自動(dòng)測(cè)試到報(bào)告生成,從編譯到打包部署均可自動(dòng)完成,。強(qiáng)大的功能,,簡(jiǎn)單的配置,讓Java程序員高枕無(wú)憂(yōu),。實(shí)可謂讓Java自動(dòng)化的絕代雙驕,。

Websphere : 活吞市場(chǎng)的大鯨
文/jini

1999年, IBM與Novell簽訂合作協(xié)議,,成功地提供電子商務(wù)的解決方案給予原先使用NetWare的用戶(hù),。同年更是推出了WebSphere Application Server 3.0,并且推出WebSphere Studio與VisualAge for Java讓工程師可以快速開(kāi)發(fā)相關(guān)的程序,。2001年,,IBM更是宣布將應(yīng)用服務(wù)器、開(kāi)發(fā)工具整合在一起,,與DB2,、 Tivoli及Lotus結(jié)合成為一套共通解決方案,如今,、IBM更是并入了Rational Rose ( UML tools )讓開(kāi)發(fā)流程更是完整化,。
Sun在Web Services的策略方面遠(yuǎn)遠(yuǎn)落后于微軟與IBM, 當(dāng)他們手拉手在研訂Web Services規(guī)范, 加上IBM買(mǎi)硬件送軟件或是買(mǎi)WebSphere送DB2的策略讓企業(yè)大佬們紛紛轉(zhuǎn)向IBM的陣營(yíng), Sun才驚覺(jué)大勢(shì)已去。WebSphere復(fù)雜的安裝,,深?yuàn)W的設(shè)定,,難以理解的出錯(cuò)訊息不斷地挑戰(zhàn)開(kāi)發(fā)者的耐心與毅力。
IBM如今已經(jīng)不是將WebSphere定義為單一產(chǎn)品,,它已經(jīng)是一個(gè)平臺(tái)的代名詞,。它里面的產(chǎn)品目前包含了應(yīng)用服務(wù)器、商業(yè)整合,、電子商務(wù),、 數(shù)據(jù)訊息管理、網(wǎng)絡(luò)串流,、軟件開(kāi)發(fā)流程,、系統(tǒng)管理、無(wú)線(xiàn)語(yǔ)音等等,。非常多樣化,也讓企業(yè)界愿意相信WebSphere可以帶給他們一套完整的解決方案,。同時(shí), IBM也在推廣SOA的概念, 簡(jiǎn)單來(lái)說(shuō), 利用Web Service的耦合性與工作流程的整合, 為企業(yè)內(nèi)部打造以服務(wù)為導(dǎo)向的架構(gòu),。
IBM捐獻(xiàn)出Eclipse帶給Java開(kāi)發(fā)人員對(duì)IDE的重新掌握。未來(lái)是否會(huì)捐獻(xiàn)出WebSphere的哪一個(gè)部分成為OpenSources, 或許, 又是改寫(xiě)Java世界的時(shí)刻了,。

 

WebLogic : 技術(shù)人的最?lèi)?ài)
文/jini

1995年, BEA成立了, 初期以Tuxedo數(shù)據(jù)轉(zhuǎn)換的產(chǎn)品為基礎(chǔ), 成長(zhǎng)之迅速是歷年來(lái)最強(qiáng)的企業(yè),。 1998年, BEA推出以Java為基礎(chǔ)的網(wǎng)絡(luò)解決方案, 提供了完整的中間層架構(gòu), 更同時(shí)支持EJB 1.0 及微軟的COM組件, 方便的管理接口擄掠了工程師的心。 在IBM和Oracle尚未準(zhǔn)備好迎擊的時(shí)候, BEA已經(jīng)席卷企業(yè)應(yīng)用平臺(tái)的市場(chǎng),。 WebLogic無(wú)論在市場(chǎng)領(lǐng)先度與技術(shù)領(lǐng)導(dǎo)性與策略遠(yuǎn)觀性都優(yōu)于當(dāng)年的所有應(yīng)用服務(wù)器廠商,。
如今WebLogic不僅僅是應(yīng)用平臺(tái)服務(wù)器的名稱(chēng), 而是BEA對(duì)于整個(gè)企業(yè)解決方案的總稱(chēng), 無(wú)論是WebLogic Portal或是WebLogic Integration配合著Workshop開(kāi)發(fā)環(huán)境, 來(lái)自微軟的UI開(kāi)發(fā)團(tuán)隊(duì)讓W(xué)orkshop幾乎達(dá)到所見(jiàn)即所得。 接著, 在下一個(gè)版本之中, BEA的BeeHive開(kāi)放源代碼計(jì)劃將釋出中間層控件的開(kāi)發(fā)模塊, 并且與Eclipse合作共同打造新一代的開(kāi)發(fā)環(huán)境,。 如此強(qiáng)而有力的技術(shù)支持, 更是讓顧客愿意使用WebLogic平臺(tái)的最大原因,。
代號(hào)為“Diablo”的 WebLogic Server 9.0小惡魔已經(jīng)出現(xiàn)了, 目前雖然僅僅是BETA版, 以Portlet 方式打造的管理接口與完整且美妙的WebServices支持, 實(shí)在很難找到可以挑剔的地方, 雖然去年被IBM的技術(shù)性推銷(xiāo)超越了市場(chǎng)占有率, 不過(guò)接下來(lái)SOA的平臺(tái)競(jìng)爭(zhēng)現(xiàn)在才開(kāi)始, BEA的LOGO也加入“Think liquid”并且推出新的AquaLogic平臺(tái)做為數(shù)據(jù)服務(wù)平臺(tái), 可見(jiàn), Java的應(yīng)用服務(wù)器的戰(zhàn)爭(zhēng), 還會(huì)繼續(xù)進(jìn)行著。

 

JBuilder : Java開(kāi)發(fā)工具的王者
文/劉鐵鋒

Java的開(kāi)發(fā)工具中,最出名的莫過(guò)于Borland公司的JBuilder了,。對(duì)于一些沒(méi)有弄清楚開(kāi)發(fā)工具與JDK的區(qū)別的Java入門(mén)者來(lái)說(shuō),,JBuilder就如同Visual C++之于C++,以為JBuilder就是Java的全部,。比起捆綁在服務(wù)器上銷(xiāo)售的JDeveloper,,JBuilder應(yīng)該是唯一的僅靠自身的實(shí)力而占領(lǐng)了大部分市場(chǎng)的Java商用開(kāi)發(fā)工具了。而JBuilder作為Java 開(kāi)發(fā)工具的王者,,其奪冠之路并非一帆風(fēng)順,。直到Java的天才Blake Stone成為JBuilder的Architect之后,JBuilder 2.0以及3.0才逐漸推出,。2000年3月14日,JBuilder 3.5的推出別具意義,,它成為了業(yè)界第一個(gè)用純Java打造的開(kāi)發(fā)工具,,也風(fēng)靡了整個(gè)Java開(kāi)發(fā)工具市場(chǎng)。在同年11月份推出的JBuilder 4.0乘勝追擊,,沖破了50%的市場(chǎng)占有率,,成為了真正Java開(kāi)發(fā)工具的王者。
Borland以每半年左右推出一個(gè)新版本的速度,,讓眾多的對(duì)手倒在了沙場(chǎng),。而Microsoft因?yàn)榕cSun的官司,也使得一個(gè)強(qiáng)大的對(duì)手退出了戰(zhàn)爭(zhēng),。2001年,,加入了對(duì)企業(yè)協(xié)作支持的JBuilder 5以及強(qiáng)化了團(tuán)隊(duì)開(kāi)發(fā)工具的JBuilder 6打敗了最后一個(gè)對(duì)手Visual Age For Java。2002年JBuilder 7推出之后,,再也沒(méi)有其他廠商與JBuilder競(jìng)爭(zhēng),。
孤獨(dú)的王者并沒(méi)有停下腳步,在2003年到2005年間,,JBuilder也仍然延續(xù)了其半年一個(gè)版本的速度,,推出了8、9、10,、2005四個(gè)版本,。強(qiáng)大的功能以及持續(xù)的改進(jìn),也讓Java程序員多了一分對(duì)能夠在開(kāi)發(fā)工具市場(chǎng)上與Microsoft血拼十?dāng)?shù)年的Borland的敬仰,。

 

Oracle : Java人永遠(yuǎn)的情結(jié)
文/熊節(jié)

在林林總總的數(shù)據(jù)庫(kù)之中,,有一種尤其令人又愛(ài)又恨、印象深刻,,那就是關(guān)系型數(shù)據(jù)庫(kù)市場(chǎng)的“大佬”——Oracle,。
從公司的角度,,Oracle和Sun有著諸多相似之處,,例如:兩家公司都擁有一位個(gè)性鮮明的CEO。早在Java誕生之初的1995年,,Oracle就緊隨NetScape從而第二個(gè)獲得了Java許可證,。從那以后,Oracle對(duì)Java的鼎力支持是Java能夠在企業(yè)應(yīng)用領(lǐng)域大獲成功的重要原因之一,。
所有J2EE程序員都知道,,Oracle的JDBC驅(qū)動(dòng)雖然與Oracle數(shù)據(jù)庫(kù)配合良好,但在不少地方使用了專(zhuān)有特性,。其中最為著名的就是“CLOB/BLOB問(wèn)題”,,諸如此類(lèi)的問(wèn)題給開(kāi)發(fā)者帶來(lái)了很多麻煩,。為了同時(shí)兼顧不同的數(shù)據(jù)庫(kù),,他們不得不經(jīng)常把自己的一個(gè)DAO(數(shù)據(jù)訪問(wèn)對(duì)象)寫(xiě)成兩份版本:針對(duì)Oracle的版本和針對(duì)其他數(shù)據(jù)庫(kù)的版本,。有不少人為了開(kāi)發(fā)便利,,舍棄了數(shù)據(jù)庫(kù)之間的可移植性,,將自己的產(chǎn)品綁定在Oracle的專(zhuān)有特性上。
Oracle提供的Java開(kāi)發(fā)工具也與此大同小異,。不管是數(shù)據(jù)庫(kù)內(nèi)置的Java支持還是JDeveloper IDE, Oracle的Java工具都和Oracle數(shù)據(jù)庫(kù)有著千絲萬(wàn)縷的聯(lián)系,。看起來(lái),,只要Oracle還是數(shù)據(jù)庫(kù)市場(chǎng)上的“頭牌”,,了解,、學(xué)習(xí)Oracle的專(zhuān)有特性,周旋于Oracle特有的問(wèn)題和解決方案之中,,就將仍舊是J2EE程序員在數(shù)據(jù)庫(kù)基礎(chǔ)和SQL之外的必修功課,。對(duì)Oracle的愛(ài)與恨,也將仍舊是Java人心頭一個(gè)難解的情結(jié),。

 

Struts,、Hibernate : 讓官方框架相形失色的產(chǎn)品
文/劉鐵鋒

好的框架能夠讓項(xiàng)目的開(kāi)發(fā)和維護(hù)更加便捷和順利,。相比Sun官方標(biāo)準(zhǔn)的遲鈍以及固執(zhí),,開(kāi)源框架也更得到Java程序員的共鳴。Struts以及Hibernate就是這樣一類(lèi)產(chǎn)品,,它們簡(jiǎn)單,、優(yōu)雅,更讓官方的產(chǎn)品相形失色,。
談起Struts,,不可避免地就要提及MVC(Model-View-Controller)的理念。而準(zhǔn)確地講,,MVC的提出卻最早源于JSP的標(biāo)準(zhǔn),。在1998年10月7號(hào),Sun發(fā)布的JSP的0.92的規(guī)范中提出的Model 2就是MVC的原型,。在1999年12月Java World的大會(huì)中,,Gavind Seshadri的文章最早闡述了Model 2就是一種MVC的架構(gòu),同時(shí)也提及了MVC架構(gòu)是一種最好的開(kāi)發(fā)方法,。2000年3月,,由Craig McClanahan發(fā)布的Struts成為了最早支持MVC的框架。Struts在設(shè)計(jì)上雖然存在一些詬病,,但是不可否認(rèn)的是,,它使得Java Web應(yīng)用的開(kāi)發(fā)更加簡(jiǎn)潔和清晰,,也讓更多的程序員愛(ài)上了Java,,并開(kāi)始遺忘官方的JSP。時(shí)至今日,,比起如WebWork,、Tapestry以及Sun官方的JSF,Struts或多或少存在些不足,,但是眾多成功項(xiàng)目的實(shí)施,,仍然使其牢牢占據(jù)的Java Web應(yīng)用框架的首位。
Hibernate則在某種程度上改變了人們對(duì)構(gòu)建J2EE的思路,。相比其EJB的Entity Bean的映射技術(shù),,Hibernate則顯得更加簡(jiǎn)潔和強(qiáng)大,。五分鐘就能把Hibernate跑起來(lái),讓更多的Java程序員享受到了開(kāi)發(fā)的樂(lè)趣,。第15屆Jolt大獎(jiǎng)中,,最優(yōu)秀數(shù)據(jù)庫(kù)、框架以及組件的獎(jiǎng)項(xiàng)中,,Hibernate當(dāng)仁不讓獲得頭籌,;不僅如此, Hibernate甚至還影響了官方的標(biāo)準(zhǔn),。在眾多Java程序員翹首以待的EJB 3.0的規(guī)范中,,Hibernate得到了支持。
Java開(kāi)源的繁榮不僅讓眾多Java的開(kāi)發(fā)者享受到了更多的便利,,甚至影響了官方的標(biāo)準(zhǔn),。恐怕這也是作為Java人獨(dú)有的樂(lè)趣之一吧,。

 

PetStore : J2EE人的必修課
文/陶文

很少有一個(gè)例子項(xiàng)目如PetStore這 般廣為人知,,而這很大程度上要?dú)w功于Sun很“英明”地把PetStore做成一個(gè)只展示架構(gòu)而在性能調(diào)優(yōu)上留下了大大余地的例子。圍繞著性能話(huà)題,,產(chǎn)生了頗為有趣的廠商之間以及平臺(tái)之間的Pet Wars,。除去這些關(guān)于性能的流言蜚語(yǔ)乃至中傷,PetStore在展示J2EE1.3平臺(tái)的架構(gòu),、演示什么叫分層方面還是有著很大的功勞的,。而且PetStore在架構(gòu)方面的豐富性使得其成為J2EE的那些輕量級(jí)小兄弟們展示自身的一個(gè)必選科目。
不談那些圍繞PetStore的口水,,那些數(shù)不盡的盜版,,PetStore給開(kāi)發(fā)新手帶來(lái)的最重大的影響,我想應(yīng)該是架構(gòu)的觀念而不是性能,,也不是業(yè)務(wù),。做為一種技術(shù)的Demo,這無(wú)可非議,。但是如果你是一個(gè)新手,,跟著PetStore亦步亦趨地學(xué)習(xí)J2EE開(kāi)發(fā),難免會(huì)陷入過(guò)度設(shè)計(jì),、華而不實(shí)之類(lèi)的困境,。圍繞著.NET的PetStore的克隆PetShop展開(kāi)的架構(gòu)與性能的大討論,是不是也在促使我們學(xué)習(xí)新技術(shù)時(shí)應(yīng)該以解決問(wèn)題為導(dǎo)向呢,?特別是當(dāng)你想把一個(gè)如PetStore這般的Sample Project的技術(shù)照搬到你的現(xiàn)實(shí)世界的Real Project來(lái)時(shí),。

 

十大組織

Sun : 因?yàn)镴ava而永被榮光
文/孟巖

Sun是1980年代初期由斯坦福大學(xué)三位年輕學(xué)生創(chuàng)立的公司。與一般人的印象不同,,“SUN”的本意并不是企圖剽竊天上那顆溫暖的恒星的威名,,而是“斯坦福大學(xué)網(wǎng)絡(luò)”的意思,。Sun在“前Java”時(shí)代就因?yàn)镾PARC芯片、Solaris操作系統(tǒng)和“網(wǎng)絡(luò)就是計(jì)算機(jī)”的口號(hào)而為人所知,。1990年12月,,Sun啟動(dòng)了一個(gè)看上去沒(méi)什么意思的嵌入式軟件項(xiàng)目。然而,,基于C++的開(kāi)發(fā)很快遇到了麻煩,。一個(gè)創(chuàng)新型技術(shù)公司的特色立刻顯示出來(lái),一群天才不是去深入C++,,而是另辟蹊徑,,發(fā)明了Java。這個(gè)傳奇故事已經(jīng)盡人皆知,,但是其中所包含的精神卻始終令人望空凝思,。
Java的發(fā)明,使得Sun真正有機(jī)會(huì)在軟件的歷史天空中放射出太陽(yáng)的光芒,。Sun發(fā)明了Java,,并且在長(zhǎng)達(dá)十年的時(shí)間里始終走在Java大潮的最前端。Sun是Java的老家,,是Java慈愛(ài)的母親,,這一切任何人都改變不了。雖然Sun似乎沒(méi)能夠從Java中獲得應(yīng)有的金錢(qián)回報(bào),,但這絲毫沒(méi)有挫傷Sun對(duì)于Java的母愛(ài),,還有對(duì)于Java大潮的舍我其誰(shuí)的領(lǐng)導(dǎo)氣概。
所有人都迷戀富有的感覺(jué),,但是也遲早會(huì)意識(shí)到錢(qián)不是世上最寶貴的東西,。這個(gè)世界并不缺少會(huì)賺錢(qián)的公司,但是能夠靠著創(chuàng)新型技術(shù)推動(dòng)整個(gè)世界進(jìn)步的公司卻是鳳毛麟角,。Sun應(yīng)該感到驕傲,,他們將因?yàn)镴ava而在歷史的天空里發(fā)射出太陽(yáng)的光芒。

 

IBM : Java經(jīng)濟(jì)的最大受益人
文/惡魔

Sun公司是Java的發(fā)明人,,但I(xiàn)BM卻是Java最大的受益者,。是IBM搶占了利潤(rùn)豐厚的應(yīng)用服務(wù)器市場(chǎng)的頭把交椅,是IBM在Java技術(shù)上投入最多的金錢(qián),,擁有最大的影響力和最好的開(kāi)發(fā)者社區(qū),??梢院敛豢鋸埖卣f(shuō),,Java使IBM的軟件體系得到復(fù)興,在某種意義上,,甚至可以說(shuō),,是Java創(chuàng)造了這種復(fù)興,。Java之后又來(lái)了Linux,這種建造在不屬于自己的平臺(tái)上以獲得成功的理念更是變得非常有影響力,。正是這種理念鑄就了今天IBM “按需計(jì)算,,服務(wù)為王”的王者風(fēng)范。
2004年三月,,IBM以Java的解放者的姿態(tài)借機(jī)向Sun發(fā)難,。IBM公司負(fù)責(zé)新興技術(shù)的副總裁史密斯在一封公開(kāi)信中表示,IBM愿意與Sun合作成立一個(gè)項(xiàng)目,,意在通過(guò)開(kāi)放源代碼開(kāi)發(fā)模式管理Java的開(kāi)發(fā)工作,。
墻內(nèi)開(kāi)花,墻外香,。面對(duì)IBM的成功,,到底是誰(shuí)妒嫉呢?或許去程序的社區(qū)中逛逛聊聊,,明眼人是不難發(fā)現(xiàn)事實(shí)真相的,。也許Sun應(yīng)該好好向IBM學(xué)習(xí)經(jīng)營(yíng)之道。盡管利潤(rùn)額不如硬件及服務(wù)部門(mén),,但I(xiàn)BM軟件部門(mén)的利潤(rùn)率是最高的——高達(dá)85%的利潤(rùn)率足以令人驚嘆,。在最近的一個(gè)季度里,IBM軟件部的利潤(rùn)率上升了8%,,其中WebSphere產(chǎn)品組的利潤(rùn)率上升了14%,。
正是IBM在開(kāi)源和Java上的全身心地投入又秉承開(kāi)放性的原則,今日的Java才能以日進(jìn)千里的速度將許多競(jìng)爭(zhēng)對(duì)手遠(yuǎn)遠(yuǎn)拋在后面,。Java 10年,,IBM功不可沒(méi)。

 

BEA : 用AppServer影響Java陣營(yíng)
文/霍泰穩(wěn)

十年前誕生的Java并不是一開(kāi)始 就那么引人注目的,,雖然用Applet也曾為互聯(lián)網(wǎng)絡(luò)帶來(lái)一抹亮色,,但畢竟只是Toy。在企業(yè)級(jí)應(yīng)用市場(chǎng)上,,Java一直沒(méi)有什么起色,,雖然Java的支持者一直在鼓吹它有著大型企業(yè)級(jí)應(yīng)用的強(qiáng)悍功能。過(guò)高的期望與低能的產(chǎn)品,,一時(shí)間頗讓人懷疑Java的路是否已經(jīng)走到了盡頭,?可以說(shuō)是WebLogic Server的出現(xiàn)逐漸打消了人們的顧慮,BEA公司慧眼獨(dú)具在2001年收購(gòu)的這個(gè)產(chǎn)品將人們的目光吸引到電信,、金融,、政府等Java企業(yè)級(jí)應(yīng)用方面,WebLogic Server以其優(yōu)良的性能讓人們看到Java應(yīng)用廣闊的未來(lái),。雖然隨后在Java應(yīng)用服務(wù)器方面出現(xiàn)了像IBM公司的WebSpere,、開(kāi)源軟件JBoss等Java應(yīng)用服務(wù)器,,但WebLogic Server幾乎占領(lǐng)世界前500強(qiáng)所有企業(yè)的應(yīng)用服務(wù)器市場(chǎng)地位依然無(wú)法撼動(dòng)。
Java現(xiàn)在已經(jīng)不單純是一個(gè)語(yǔ)言,,從另一方面它也代表著開(kāi)放與創(chuàng)新,。很多以Java產(chǎn)品為基礎(chǔ)的公司或者從事Java開(kāi)發(fā)的程序員骨子里都有著開(kāi)放與創(chuàng)新的烙印,BEA公司的發(fā)展深深地印證了這一點(diǎn),。與合作伙伴的密切合作向Java社區(qū)貢獻(xiàn)產(chǎn)品基礎(chǔ)源代碼,、加入權(quán)威開(kāi)源組織參與Java標(biāo)準(zhǔn)的制定等證實(shí)著B(niǎo)EA的開(kāi)放,而其產(chǎn)品從WebLogic Server一種拓展到WebLogic Platform,、WebLogic Portal,、WebLogic Workshop等其它領(lǐng)域又證實(shí)著它的創(chuàng)新能力。

 

Oracle : 早起的鳥(niǎo)兒有蟲(chóng)吃
文/孟巖
Oracle的老板拉里?艾利森是有名的混世魔王和花花公子,,所以盡管他也是軟件產(chǎn)業(yè)成功人士的代表,,卻絕不是程序員們心目中的英雄,程序員們畢竟不是央視《對(duì)話(huà)》節(jié)目里群眾演員,,沒(méi)必要為了節(jié)目需要而對(duì)權(quán)貴財(cái)閥們做出一副賤骨頭狀,。但是,任何人都不能不欽佩Oracle在技術(shù)上的前瞻性和堅(jiān)決性,。Oracle是1996年獲得Java許可證的,,緊接著就大膽地將Java作為戰(zhàn)略性的發(fā)展方向而予以全面支持。要知道當(dāng)時(shí)Java的前景并不是十分確定的,,而Oracle的堅(jiān)決投入,,使得它在后來(lái)的Java世界中搶得一席之地。1998年9月發(fā)布的Oracle 8i為數(shù)據(jù)庫(kù)用戶(hù)提供了全方位的Java支持,。Oracle 8i成為第一個(gè)完全整合了本地Java運(yùn)行時(shí)環(huán)境的數(shù)據(jù)庫(kù),,開(kāi)發(fā)者用Java就可以編寫(xiě)Oracle的存儲(chǔ)過(guò)程,這意味著可以?xún)H在Oracle數(shù)據(jù)庫(kù)中就完成幾乎全部的應(yīng)用開(kāi)發(fā),。J2EE興起后,,Oracle更是有心進(jìn)入開(kāi)發(fā)工具市場(chǎng),因而購(gòu)買(mǎi)了JBuilder的源碼,,并在此基礎(chǔ)上開(kāi)發(fā)出JDeveloper,。如今Oracle除了數(shù)據(jù)庫(kù)穩(wěn)居第一之外,在Java開(kāi)發(fā)工具世界里也自成一派,。這一切不能不歸功于當(dāng)初的眼光遠(yuǎn)大,。


Apache : 開(kāi)源軟件的品牌保證
文/陶文

Java程序員的日常工具箱中,我們可以發(fā)現(xiàn)Ant,、Tomcat,、Log4、Lucene這些鼎鼎大名的開(kāi)源產(chǎn)品。而它們的共同點(diǎn)在于,,都是由Apache Software Foundation社群中杰出的開(kāi)發(fā)者開(kāi)發(fā)的開(kāi)源項(xiàng)目。Apache這個(gè)名字在Java的世界中實(shí)在太出名了,,以至于“Apache”這六個(gè)字母成為開(kāi)源項(xiàng)目品質(zhì)保證的代名詞,。Apache是自由開(kāi)源的一面旗幟,其Apache License更是成為商業(yè)友好的License的首選,,只SourceForge上就有1000多個(gè)以Apache License授權(quán)的項(xiàng)目,,其流行程度可見(jiàn)一斑。
但是,,如我們所知,,Apache最早聞名IT界是靠高性能的Web服務(wù)器,其歷史甚至和Java一樣長(zhǎng),。Apache對(duì)于Java的偏愛(ài),,以及其發(fā)展的速度也映射出了Java繁榮的一角。現(xiàn)在去它的主頁(yè)上看看,,滿(mǎn)目望去全部都是Java的開(kāi)源項(xiàng)目,,早就不光是其C服務(wù)器的老本行了。Apache對(duì)Java最大的貢獻(xiàn)就是提供了這么一個(gè)精品的開(kāi)放舞臺(tái),,讓杰出的開(kāi)發(fā)者和成熟的開(kāi)源項(xiàng)目走到一起,,共同給Java語(yǔ)言提供一個(gè)豐富的工具倉(cāng)庫(kù)。對(duì)于一種語(yǔ)言,、一個(gè)平臺(tái)來(lái)說(shuō),,其庫(kù)的豐富程度對(duì)于開(kāi)發(fā)者來(lái)說(shuō)的重要性再怎么強(qiáng)調(diào)也不為過(guò)。勿庸置疑,,Aapache上會(huì)出現(xiàn)越來(lái)越多的Java開(kāi)源項(xiàng)目,,而我們開(kāi)發(fā)者也將更多地得益于這令人目不暇接的繁榮。

 

TheServerSide : 論壇的專(zhuān)業(yè)精神
文/劉天北

成立于2000年5月,,TSS最初以一本書(shū)而廣為人知,。它的創(chuàng)始人Ed Roman同時(shí)也是J2EE名著《Mastering EJB》的作者;Roman運(yùn)營(yíng)著一個(gè)J2EE咨詢(xún)/培訓(xùn)公司TheMiddlewareCompany(簡(jiǎn)稱(chēng)TMC),TSS當(dāng)時(shí)是TMC的下屬部門(mén),;為了擴(kuò)大企業(yè)的影響,,Roman在TSS網(wǎng)站上免費(fèi)發(fā)布了那本書(shū)的電子版。J2EE程序員要吃下這個(gè)香餌,,就得在論壇中注冊(cè);注冊(cè)的同時(shí),,多半也會(huì)看一眼論壇的內(nèi)容;一看之下,,大部分人都被吸引住,,成了社區(qū)的忠實(shí)成員。
TSS究竟有什么吸引人的秘訣?首先,,它有一支能力過(guò)人的運(yùn)營(yíng)團(tuán)隊(duì),,除了Roman本人之外,其中還有好幾人都是J2EE領(lǐng)域的頂尖專(zhuān)家,;第二,,TSS和TMC定期會(huì)推出專(zhuān)家研討會(huì)/視頻訪談、技術(shù)白皮書(shū),、評(píng)測(cè)報(bào)告,,通讀TSS提供的這些內(nèi)容,基本上就可以把握技術(shù)的當(dāng)前趨勢(shì),。但這還不是全部,。最可貴的還是TSS的社區(qū)風(fēng)格:他們深諳技術(shù),但不盛氣凌人,;思想敏銳,,但不因此缺乏審慎和大局感。其中大多數(shù)人都已在自己的開(kāi)發(fā)領(lǐng)域頗有建樹(shù),,在TSS上的活動(dòng)既給他們提供了與同行進(jìn)行深度交流的機(jī)會(huì),。一個(gè)新成員進(jìn)入社區(qū),就像參加了一個(gè)起點(diǎn)很高的專(zhuān)業(yè)俱樂(lè)部,,這不是一個(gè)求解“怎樣設(shè)置JAVA_HOME環(huán)境變量”之類(lèi)問(wèn)題的地方,。事實(shí)上,在J2EE技術(shù)發(fā)展的若干轉(zhuǎn)折點(diǎn)上,,TSS都起到了關(guān)鍵的推動(dòng)作用,。
幾經(jīng)易主之后,J2EE咨詢(xún)培訓(xùn)公司TMC在2004年關(guān)閉,;TSS則被IT媒體集團(tuán)TechTarget收購(gòu),。我們期待著它更加繁榮的未來(lái)。

JBoss : 職業(yè)開(kāi)源軟件組織
文/劉天北

J2EE的嬰兒期,,“應(yīng)用服務(wù)器”原本是“昂貴”的代名詞,。但從1999年起,Marc Fleury和Rickard Oberg等人就已經(jīng)著手改變這種狀況,。他們開(kāi)發(fā)的開(kāi)源EJB容器當(dāng)時(shí)叫做“EJBoss”,,在Sun公司的干預(yù)下(注意,“EJB”是注冊(cè)商標(biāo)),,JBoss獲得了今天的名字,。雖然從問(wèn)世起就一直受到關(guān)注,但JBoss第一個(gè)達(dá)到產(chǎn)品化標(biāo)準(zhǔn)的版本可能是它的2.2版,。它的易用讓人一見(jiàn)難忘:除了標(biāo)準(zhǔn)部署描述符,,無(wú)需編寫(xiě)專(zhuān)用的xml配置文件,。Oberg自豪地說(shuō),“我們的架構(gòu)并不是按照EJB規(guī)范指定的路線(xiàn)設(shè)計(jì)的,,因此也沒(méi)有走大多數(shù)應(yīng)用服務(wù)器走過(guò)的彎路,。”
Jboss 3.x版本保持了一貫的創(chuàng)新精神,,在用戶(hù)中間獲得了更廣泛的認(rèn)可,。但是,文檔要收費(fèi)下載,、在郵件列表上提問(wèn)常常會(huì)遭到Fleury等人的斥責(zé),。無(wú)疑,,JBoss的創(chuàng)始者也意識(shí)到了自己的幼稚:開(kāi)源軟件只能靠服務(wù)盈利,,賣(mài)文檔賺錢(qián)有限、罵用戶(hù)當(dāng)然更損害企業(yè)形象,。
雖然以O(shè)berg為首的許多程序員退出了開(kāi)發(fā)隊(duì)伍(其中很多人成了JBoss的死敵),,在開(kāi)源軟件領(lǐng)域也面臨JOnAS Geronimo等新老對(duì)手的競(jìng)爭(zhēng),但JBoss還是以不斷推出的新版本站穩(wěn)了腳跟,。在技術(shù)上,,它是策動(dòng)J2EE演進(jìn)的重要力量:擬議中的EJB 3也要追隨Jboss 4倡導(dǎo)的開(kāi)發(fā)范式,以至于二者的代碼樣本之間的差別幾乎難以分辨,;在商業(yè)上,,JBoss與Sun公司言和修好,甚至還獲得了數(shù)量可觀的風(fēng)險(xiǎn)投資,。JBoss已經(jīng)像擁護(hù)者預(yù)期的那樣,,成為了應(yīng)用服務(wù)器領(lǐng)域的Linux。

 

Borland : 深度介入Java
文/左輕候

除了Sun以外,,也許沒(méi)有一家公司 像Borland這樣深層地介入Java,。Borland開(kāi)發(fā)了最早的Java編譯器之一,Borland的工程師參與了早期JDK的設(shè)計(jì),,Borland的JBCL(JavaBeans Component Library) 技術(shù)也成為后來(lái)Java Bean規(guī)范的基礎(chǔ),。但是Borland對(duì)Java世界最大的影響還是JBuilder。
1997年11月,,Borland JBuilder 1.0發(fā)布,。雖然第一個(gè)版本相對(duì)于競(jìng)爭(zhēng)對(duì)手并沒(méi)有表現(xiàn)出明顯的優(yōu)勢(shì),但是Borland憑借深厚的技術(shù)實(shí)力和正確的市場(chǎng)策略,,不斷地超越了對(duì)手,。JBuilder 3.5成為業(yè)界第一個(gè)100%基于Java架構(gòu)的開(kāi)發(fā)工具,并且市場(chǎng)份額很快超過(guò)了50%,。在隨后的版本中,,JBuilder持續(xù)改進(jìn)對(duì)團(tuán)隊(duì)開(kāi)發(fā),、J2EE架構(gòu)、Mobile技術(shù)等方面的支持,,最終成為了Java開(kāi)發(fā)工具市場(chǎng),,特別是大型企業(yè)級(jí)Java開(kāi)發(fā)市場(chǎng)中的霸主。JBuilder的成功,,很大一個(gè)原因來(lái)自于Borland堅(jiān)持的平臺(tái)中立性,,即對(duì)不同廠商的解決方案提供一視同仁的支持。
2005年初,,隨著Eclipse社區(qū)的迅速崛起,,Borland進(jìn)入了Eclipse的董事會(huì),成為戰(zhàn)略開(kāi)發(fā)者(Strategy Developer) ,,并宣布將推動(dòng)Borland的其它產(chǎn)品與Eclipse的集成,。在隨后發(fā)布的一份文件中,Borland宣稱(chēng)JBuilder的未來(lái)版本將放棄原有的PrimeTime架構(gòu),,而基于Eclipse架構(gòu),。這個(gè)代號(hào)為“Peloton”的版本預(yù)計(jì)于2006年下半年發(fā)布。
Borland對(duì)Java的另外兩個(gè)主要貢獻(xiàn)來(lái)自Together和BES(Borland Enterprise Server),。Together是著名的建模工具,,能夠與包括JBuilder在內(nèi)的許多開(kāi)發(fā)工具進(jìn)行集成,全球市場(chǎng)份額占有率排名第二,。BES AppServer是一種J2EE服務(wù)器,,在全球市場(chǎng)份額占有率上次于WebLogic和WebSphere,排名第三,。

 

JCP : Java世界的聯(lián)合國(guó)
文/黃海波

當(dāng)聯(lián)合國(guó)正在為安理會(huì)改革問(wèn)題 吵得如火如荼時(shí),,Java世界的“聯(lián)合國(guó)安理會(huì)”已經(jīng)成功地運(yùn)作了七個(gè)年頭。JCP(Java Community Process)在1998年由Sun發(fā)起成立,,目標(biāo)是通過(guò)一個(gè)開(kāi)放,、合作和鼓勵(lì)參與的非盈利組織來(lái)發(fā)展和推進(jìn)Java和相關(guān)的技術(shù)。正是由于JCP計(jì)劃的推出可以讓所有對(duì)Java感興趣的軟硬件廠商,,個(gè)人和組織都能參與到技術(shù)規(guī)范的制定和發(fā)展過(guò)程中,,協(xié)調(diào)各方的興趣和利益、集思廣益,,才可以讓Java在短短的幾年內(nèi)異軍突起,,成為可以和微軟開(kāi)發(fā)平臺(tái)抗衡的一個(gè)主流開(kāi)發(fā)語(yǔ)言。JCP計(jì)劃既然是一個(gè)組織,,自然也有一定的架構(gòu),。JCP組織架構(gòu)主要包括PMO(Program Management Office)、JCP成員,、EC,、EG,。事實(shí)上,JCP的架構(gòu)就好像一個(gè)Java世界的聯(lián)合國(guó),。雖然也有不少人批評(píng)JCP成為各派利益的角力場(chǎng),,因而效率低下;但是,,它畢竟為Java的順利發(fā)展很好地掌握了方向,。

 

微軟與Java : 不得不說(shuō)的故事
文/孟巖


微軟跟Java不對(duì)付,地球人都知 道,。跟Sun和解了又怎么樣,?  .NET跟Java就是競(jìng)爭(zhēng)對(duì)手,沒(méi)什么說(shuō)的,。但是有點(diǎn)IT掌故的人都知道,,微軟并非一開(kāi)始就跟Java過(guò)不去。當(dāng)年比爾?蓋茨盛贊Java是“長(zhǎng)期以來(lái)最好的程序設(shè)計(jì)語(yǔ)言”,,而且很早就購(gòu)買(mǎi)了Java許可證,。但是微軟作為村里的老大,,看著人家的兒子茁壯呈長(zhǎng),,不由得生了私心雜念,搞起了小動(dòng)作,,在Visual J++中加入了一些破壞純潔性的東西,。單獨(dú)來(lái)看,Visual J++是COM時(shí)代微軟最棒的開(kāi)發(fā)工具,,用WFC寫(xiě)Windows應(yīng)用程序和COM組件實(shí)在是一種享受,。但是放在Java大家庭里,這個(gè)家伙就顯得多少有點(diǎn)不懷好意,。一場(chǎng)官司下來(lái),,微軟被逐出Java大家庭,Visual J++無(wú)疾而終,。以后的事情盡人皆知,,.NET出籠,利齒直指Java,,幾年撕咬下來(lái),,沒(méi)占著便宜也沒(méi)吃大虧,如今也算是南北朝對(duì)峙,,二分天下有其一,。設(shè)想如果當(dāng)時(shí)微軟能夠摒棄帝國(guó)主義心態(tài),正確對(duì)待Java,,與其他人一起共建美好的Java“共產(chǎn)主義社會(huì)”,,那么今天我們的軟件開(kāi)發(fā)世界應(yīng)該會(huì)美好得多,。可惜黃粱一夢(mèng),,終究是螞蟻的喜事,。2004年,微軟與Sun實(shí)現(xiàn)了和解,,但愿到Java 20周年的時(shí)候,,我們能更正面地描述微軟對(duì)Java發(fā)揮的作用。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶(hù)發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多