一、James Gosling : Java之父 文/陶文
作為Java之父,James Gosling的名字可謂是耳熟能詳。當人們評論一種編程語言時,總喜歡捎帶著把下蛋的母雞一起帶上。Java做為中國的編程語言學習者餐桌上有限的那么幾樣餐點中的流行款式,自然是讓James Gosling風光不已。雖然James Gosling現(xiàn)在已經(jīng)不是領(lǐng)導Java發(fā)展潮流的領(lǐng)軍人物了,做為Sun的開發(fā)者產(chǎn)品組的CTO,怎么算來也是身居高位了,俗事纏身吧,但是這并不妨礙其對于Java一如既往的愛護,表達著各式各樣鮮明的觀點,引發(fā)一場又一場的爭論。 James Gosling是很愛Java的——是啊,哪有當父母的不愛自己的孩子的呢。James Gosling也是很愛Sun的——是啊,哪有當領(lǐng)導的不愛自己的公司的呢。于是我們在批評.NET的安全性的隊伍前頭,在褒揚Java性能的隊伍前頭,在抨擊SWT開倒車的隊伍前頭,在給NetBeans大唱贊歌的隊伍前頭,我們都看到了James Gosling的身影。無論對錯、偏見或者固執(zhí),至少說明了Gosling的鮮明個性絲毫沒有受到年齡的影響。也許也只有這種天才而偏執(zhí)的人物才能創(chuàng)造出Java這般偉大的語言來吧。
二、Bill Joy : 軟件業(yè)的愛迪生 文/徐昊
Joy生于1954年,1982年與Vinod Khosla, Scott McNealy和Andy Bechtolsheim一起創(chuàng)建了Sun Microsystems,并從那時起擔任首席科學家,直到2003年離開。他是一位令人崇敬的軟件天才,他在軟件和硬件的歷史上留下了無數(shù)令人仰止的傳奇。 在上個世紀80年代早期,DARPA與BBN達成協(xié)議,準備將Vinton Cerf和Bob Kahn設(shè)計的TCP/IP協(xié)議添加到Berkeley UNIX中。Bill Joy被委派來完成這項任務(wù),然而他卻拒絕將BBN的TCP/IP協(xié)議棧添加到BSD中,因為在他的眼中BBN的TCP/IP實現(xiàn)還遠不夠好,于是他就寫了一個高性能的TCP/IP協(xié)議棧。John Gage回憶道,“BBN和DARPA簽署了巨額合同來實現(xiàn)TCP/IP協(xié)議,然而他們的員工所編寫的代碼遠沒有一個研究生所做的好。于是他們邀請Bill Joy參加他們的一個會議,這位研究生穿著一件T-Shirt就出現(xiàn)了,他們詢問他,‘你是如何做到的呢?’Bill回答說,‘這是非常簡單的一件事,你讀一下協(xié)議然后就可以編碼了’”。除了TCP/IP協(xié)議,基于分頁的虛擬內(nèi)存系統(tǒng)最早也是由Bill Joy添加到Berkeley UNIX內(nèi)核當中的。同時他還是vi、csh、早期Pascal編譯器的作者。 關(guān)于Bill Joy驚人的軟件才能流傳最廣的一個傳奇是,據(jù)說他在上研究生的時候,想看看自己能不能寫一個操作系統(tǒng)出來,于是就在三天里寫了一個非常簡陋,但是可以使用的Unix系統(tǒng), 傳說就是BSD的前身。雖然如此夸張的才情令人難以置信,但是考慮到主角是Bill Joy,還是有一定的可信度的。Bill Joy碩士畢業(yè)之后,決定到工業(yè)界發(fā)展,于是就到了當時只有一間辦公室的Sun, 他作為主要設(shè)計者參與了SPARC微處理器的設(shè)計,負責設(shè)計最為關(guān)鍵的一部分電路。這樣兼精軟硬件的天才實在是讓人不得不佩服啊。1995年,Sun發(fā)布了轟動世界的Java語言。當然,Bill Joy對Java也作出了不少的貢獻,首先是JINI——一種針對分布式服務(wù)的基礎(chǔ)連接技術(shù)。任何可以內(nèi)嵌JVM的電子設(shè)備都可以通過JINI相互連接;JXTA是基于Java的P2P協(xié)議,允許互聯(lián)網(wǎng)上的軟件進行點對點交流和協(xié)作。 這個其貌不揚的瘦高個,有著凌亂的亞麻色頭發(fā),被《財富》雜志譽為“網(wǎng)絡(luò)時代的愛迪生”的技術(shù)狂人,在短短的二十年間,創(chuàng)造了無數(shù)令人心動的軟件。在MIT的BBS上曾有一個帖子,說微軟電話面試有一道題,問“Who do you think is the best coder, and why?”雖然回復的帖子中大家都聲明列舉的best coder排名不分先后,然而大多數(shù)人仍把Bill Joy列在第一位,或許可以從一個側(cè)面驗證Bill Joy在廣大Programmer心目中的地位吧。
三、Joshua Bloch : Java 2 元勛 文/莫映
早在1996年,適逢Java剛剛嶄露頭角,年內(nèi)好事連連。先是1月份發(fā)布JDK 1.0,然后是5月底在舊金山召開首屆JavaOne大會,年末又是JDK 1.1緊跟其后。正是在Java技術(shù)如火如荼、大展拳腳的背景之下,Joshua Bloch來到了Sun,開始了他帶領(lǐng)Java社區(qū)步入“迦南美地”的漫長歷程。 很快,他被從安全組調(diào)入核心平臺組,從事底層API設(shè)計。至此以后,每逢JDK的重大版本發(fā)布,總能在其中見到Joshua的“妙筆”。JDK 1.1中的java.math、1.4中的assertions,還有大家所熟識的Collections Framework皆是Joshua一手打造。其中的Collections Framework還獲得了當年的Jolt大獎。到了J2SE 5.0研發(fā)階段,身為平臺組構(gòu)架師的Joshua接掌了Tiger大旗,其核心地位已然無人可以替代。作為Tiger的代言人和領(lǐng)路人,沒有誰比Joshua更清楚Tiger。相信大家一定還記得Joshua當年仿效英國詩人William Blake所做的詠Tiger詩八首,優(yōu)雅的筆調(diào),透出大師深厚底蘊的同時,也道出了Tiger的幾大重要特性,這些特性是自JDK 1.1引入Inner Class以來,Java最大的語法改進。 Java風雨十年,從JDK 1.1到J2SE 5.0,Joshua實在功不可沒。難怪有人戲言,假如將James Gosling比作Java之父,那么Joshua就是一手將Java “哺育”成人的Java之母。Joshua對Java的貢獻還不止于JDK,提起他的大作《Effective Java》(Addison Wesley, 2001),相信Java粉絲們一定耳熟能詳。該書榮膺2002年度Jolt大獎,且備受James Gosling推崇。書中57條頗具實用價值的經(jīng)驗規(guī)則,來自Joshua多年來在JDK開發(fā)工作中,尤其是Collections Framework設(shè)計中的實踐心得,各個有理有據(jù),剖析深入,也足見其深厚功力。該書對Java社群的影響,猶如C++社群中的《Effective C++》。Joshua對JCP的貢獻也不小。他是JSR201和JSR175的領(lǐng)導者,前者包含了Tiger四大語言特性,后者則為Java提供了元數(shù)據(jù)支持。此外,他還是JSR166的發(fā)起人之一(該JSR由Doug Lea領(lǐng)導),并且是許多其他JSR的參與者。Joshua目前是JCP為數(shù)不多的幾個執(zhí)行委員會成員之一。 Joshua Bloch給人的印象是謙遜平和,行事低調(diào)而不喜拋頭露面,一個典型的技術(shù)人員和實干家。不過即便如此,也絲毫不會減弱他對Java技術(shù)的卓越貢獻和對Java社區(qū)的絕對影響力。有人說,如果他能更彰顯一些,就很有可能成為Java開發(fā)者中的領(lǐng)軍人物,就有如Don Box之于微軟社群。 2004年7月初,就在Tiger發(fā)布在即之時,就在Jusha Bloch剛剛榮獲Sun“杰出工程師(Distinguished Engineer)”的稱號之時,他突然離開Sun而去了正值發(fā)展態(tài)勢迅猛的Google。當他離開Sun的消息在TSS發(fā)布之后,眾多擁躉表達了懷念與不舍之情。一年過去了,我們還沒有獲知Joshua的任何近聞,似乎又是他行事低調(diào)的一貫作風所致,不知他在Google狀況如何。希望Joshua依然能繼續(xù)“摩西未盡的事業(yè)”,以他的影響力推動Java社群繼續(xù)前行。據(jù)稱,《Effective Java》的下一版會加入Java 5.0的部分,讓我們翹首以待吧。
四、Bruce Eckel : 功勛卓著的機會主義分子 文/孟巖
Bruce Eckel原本是一位普通的匯編程序員。不知道是什么因緣際會,他轉(zhuǎn)行去寫計算機技術(shù)圖書,卻在此大紅大紫。他成功的秘訣不外乎兩點:超人的表達能力和捕捉機會的能力。他最早的一本書是1990年代初期的《C++ Inside & Out》,隨后,在1995年他寫出了改變自己命運的《Thinking in C++》。如果說這本書充分表現(xiàn)了他作為優(yōu)秀技術(shù)作家的一面,那么隨后他寫作《Thinking in Java》并因此步入頂級技術(shù)作家行列,則體現(xiàn)了他作為優(yōu)秀的機會主義分子善于捕捉機會的另一面。寫作中擅長舉淺顯直接的小例子來說明問題,語言生動,娓娓道來,特別適合于缺乏實踐經(jīng)驗的初學者。因此《Thinking in Java》儼然成為天字第一號的Java教科書,對Java的普及與發(fā)展發(fā)揮著不可忽略的作用。不過公允地說,Bruce Eckel的書欠深刻。比如在“Thinking in…”系列中對設(shè)計模式的解說就有失大師水準。這一方面是因為書的定位非常清晰,另一方面也是因為Bruce太過分心趕潮流,未能深入之故。TIJ之后,他預言Python將火,就匆匆跑去寫了半本《Thinking in Python》。后來Python并未如期而旺,于是他也就把書稿撂在那里不過問了,機會主義的一面暴露無遺。我們也可以善意的猜測一下,他的下一個投機對象會是什么呢?Ruby?.NET?MDA?總之,是什么我都不奇怪。
五、Rickard Oberg :J2EE奇才 文/熊節(jié)
Oberg的作品很多,流行的代碼生成工具XDoclet和MVC框架WebWork都出自他的手筆。這兩個框架有一個共同的特點,即它們的功能雖然簡單,但設(shè)計都非常優(yōu)雅靈活,能夠很方便地擴展新功能甚至移植到新環(huán)境下使用。優(yōu)雅的設(shè)計源自O(shè)berg的過人才華,簡單的功能則折射出他玩世不恭的人生態(tài)度。正是這兩種特質(zhì)的融合,才造就了這個不世出的奇才。 1999年,JDK 1.3發(fā)布,其中帶來了一個重要的新特性:動態(tài)代理(Dynamic Proxy)。當所有人都還在對這項新技術(shù)的用途感到迷惑時,Oberg發(fā)現(xiàn)用它便可以輕松攻克EJB容器實現(xiàn)中的一些難關(guān)。這一發(fā)現(xiàn)的產(chǎn)物就是一本《Mastering RMI》,以及大名鼎鼎的JBoss應用服務(wù)器。但Oberg很快又讓世人見識了他的玩世不恭。由于和總經(jīng)理Marc Fleury在經(jīng)營理念上不合,Oberg抱怨“法國的天空總讓我感到壓抑”,甩手離開了自己一手打造的JBoss。此后的幾年里,他和老友Hani Suleiman不斷地對JBoss的“專業(yè)開源”模式和Marc Fleury的商人味道冷嘲熱諷,讓眾人為他的孩子氣扼腕嘆息。 2002年10月,微軟推出Petstore示例應用的.NET版本,并宣稱其性能比Java Petstore高出數(shù)倍。正是Oberg深入分析這個示例應用的源代碼,在第一時間指出它大量運用了SQL Server專有的特性,性能對比根本不具參考價值。后來Oberg又先后關(guān)注了AOP和IoC容器,兩者都成為了J2EE架構(gòu)的新寵。
六、Doug Lea : 世界上對Java影響力最大的個人 文/KIT
如果IT的歷史,是以人為主體串接起來的話,那么肯定少不了Doug Lea。這個鼻梁掛著眼鏡,留著德王威廉二世的胡子,臉上永遠掛著謙遜靦腆笑容,服務(wù)于紐約州立大學Oswego分校計算器科學系的老大爺。 說他是這個世界上對Java影響力最大的個人,一點也不為過。因為兩次Java歷史上的大變革,他都間接或直接的扮演了舉足輕重的腳色。一次是由JDK 1.1到JDK 1.2,JDK1.2很重要的一項新創(chuàng)舉就是Collections,其Collection的概念可以說承襲自Doug Lea于1995年發(fā)布的第一個被廣泛應用的collections;一次是2004年所推出的Tiger。Tiger廣納了15項JSRs(Java Specification Requests)的語法及標準,其中一項便是JSR-166。JSR-166是來自于Doug編寫的util.concurrent包。 值得一提的是: Doug Lea也是JCP (Java小區(qū)項目)中的一員。 Doug是一個無私的人,他深知分享知識和分享蘋果是不一樣的,蘋果會越分越少,而自己的知識并不會因為給了別人就減少了,知識的分享更能激蕩出不一樣的火花。《Effective JAVA》這本Java經(jīng)典之作的作者Joshua Blosh便在書中特別感謝Doug是此書中許多構(gòu)想的共鳴板,感謝Doug大方分享豐富而又寶貴的知識。這位并發(fā)編程的大師級人物的下一步,將會帶給Java怎樣的沖擊,不禁令人屏息以待。
七、Scott McNealy :SUN十年來的掌舵者 文/KIT
McNealy,Sun的CEO、總裁兼董事長。他曾經(jīng)狂傲的說:“摧毀微軟是我們每個人的任務(wù)。”這位英勇的硅谷英雄,似乎帶頭起義,試圖組織一個反微軟陣線聯(lián)盟,以對抗微軟這股龐大的托拉斯惡勢力。他時??诔鲶@人之語,在公開場合大肆的批評微軟,并曾經(jīng)說微軟的.NET是.NOT。 Scott McNealy先后畢業(yè)于哈佛大學及史丹佛大學,分別持有經(jīng)濟學學士學位及企管碩士。1982年MBA畢業(yè)的他和三個同學共同合伙創(chuàng)建了Sun,并于1984年成為Sun的執(zhí)行官。“要么吞了別人,不然就被別人吞了”是Scott McNealy的名言錄之一。他擅長以信念帶動員工,鼓舞士氣。極富自信的他,對于認定的事,總是堅持自己的想法,因此有人形容他是一個剛愎自用的決策者。 身為Sun這艘船的掌舵者,Scott McNealy能夠看多遠,Sun就能走多遠。Scott McNealy認為將來軟件界是一個只有服務(wù),沒有產(chǎn)品的世代。他希望打造出Sun不是一個純靠硬件賺錢的公司。從Open Source到Open Solaris,Sun希望可以成為提供整合性解決方案的服務(wù)廠商。Solaris 10 + UltraSPARC是否可以像Scott McNealy希望的是下一匹世紀黑馬呢?Sun是否能以股價來證明華爾街分析師及普羅大眾的誹短流長?Scott McNealy是否能帶領(lǐng)著Sun成為繼微軟之后的下一個巨人,一場場IT界的爭霸戰(zhàn)值得我們拭目以待。
八、Rod Johnson : 用一本書改變了Java世界的人 文/ 劉鐵鋒
Rod在悉尼大學不僅獲得了計算機學位,同時還獲得了音樂學位。更令人吃驚的是在回到軟件開發(fā)領(lǐng)域之前,他還獲得了音樂學的博士學位。有著相當豐富的C/C++技術(shù)背景的Rod早在1996年就開始了對Java服務(wù)器端技術(shù)的研究。他是一個在保險、電子商務(wù)和金融行業(yè)有著豐富經(jīng)驗的技術(shù)顧問,同時也是JSR-154(Servlet 2.4)和JDO 2.0的規(guī)范專家、JCP的積極成員。 真正引起了人們的注意的,是在2002年Rod Johnson根據(jù)多年經(jīng)驗撰寫的《Expert One-on-One J2EE Design and Development》。其中對正統(tǒng)J2EE架構(gòu)的臃腫、低效的質(zhì)疑,引發(fā)了人們對正統(tǒng)J2EE的反思。這本書也體現(xiàn)了Rod Johnson對技術(shù)的態(tài)度,技術(shù)的選擇應該基于實證或是自身的經(jīng)驗,而不是任何形式的偶像崇拜或者門戶之見。正是這本書真正地改變了Java世界?;谶@本書的代碼,Rod Johnson創(chuàng)建了輕量級的容器Spring。Spring的出現(xiàn),使得正統(tǒng)J2EE架構(gòu)一統(tǒng)天下的局面被打破。基于Struts+Hibernate+Spring的J2EE架構(gòu)也逐漸得到人們的認可,甚至在大型的項目架構(gòu)中也逐漸開始應用。 Rod Johnson的新作《Expert One-on-one J2EE Development without JEB》則更讓人吃驚,單單“Without EJB”一詞就會讓大多數(shù)J2EE架構(gòu)師大跌眼鏡了。不過Rod Johnson可能僅僅是想通過“Without EJB”一詞表明應該放開門戶之見。這也是Rod Johnson一貫的作風,。也許正是這種思想,促使得Rod Johnson創(chuàng)建了Spring,真正改變了Java世界。
九、Alan Kay :Java的精神先鋒 文/徐昊
Sun的官方Java教材中有一句話,說Java是“C++的語法與Smalltalk語義的結(jié)合”。而Smalltalk的創(chuàng)造者就是Alan Kay。 Alan Kay于1970年加入Xerox公司的Palo Alto研究中心。早在70年代初期,Alan Kay等人開發(fā)了世界上第二個面向?qū)ο笳Z言Smalltalk,因此,Alan Kay被譽為Smalltalk之父。2003年,Alan Key因為在面向?qū)ο蟪绦蛟O(shè)計上的杰出貢獻,獲得了有計算機界的諾貝爾獎之稱的ACM Turing Award。 Alan Kay成名于Smapltalk和OOP,而Java雖然在語言上類似于C,但是在語義上非常接近Smalltalk,很多Java中的設(shè)計思想在Alan Kay的文獻中找到根源,也有些人將Alan Kay尊為Java思想的先驅(qū)。不過遺憾的是似乎Alan Kay老先生對Java并不買賬,反倒攻擊說Java是存在致命缺陷的編程語言,Java的成功不是由于Java本身的內(nèi)在價值,而是其商業(yè)化的成功。Alan Kay欣賞的是Lisp,他認為Lisp是軟件的麥克斯韋方程,其中的許多想法是軟件工程和計算機科學的一部分??磥頁碛蠥lan Kay這樣一位重量級的Java先驅(qū)仍是我們Java一廂情愿的單戀吧。
十、Kent Beck : 領(lǐng)導的敏捷潮 文:劉鐵鋒
Beck全家似乎都彌漫著技術(shù)的味道。生長在硅谷, 有著一個對無線電癡迷的祖父,以及一個電器工程師父親。從小就引導Kent Beck成為了業(yè)余無線電愛好者。 在俄勒岡州大學讀本科期間,Kent Beck就開始研究起模式。然而在他最終拿到計算機學位之前,他卻是在計算機和音樂中交替學習。似乎Java大師都能夠有這樣的能耐,另一Java大牛Rod Johnson同樣也擁有音樂學的博士學位。 Kent Beck一直倡導軟件開發(fā)的模式定義。早在1993年,他就和Grady Booch(UML之父)發(fā)起了一個團隊進行這個方面的研究。雖然著有了《Smalltalk Best Practice Patterns》一書,但這可能并不是Kent Beck最大的貢獻。他于1996年在DaimlerChrysler啟動的關(guān)于軟件開發(fā)的項目,才真正地影響后來的軟件開發(fā)。這次的杰作就是XP(極限編程)的方法學。 和軟件開發(fā)大師Martin Fowler合著的《Planning Extreme Programming》可謂是關(guān)于XP的奠基之作。從此,一系列的作品如《Test Driven Development: By Example》,《Extreme Programming Explained: Embrace Change》讓更多的人領(lǐng)略到了極限編程的精髓,也逐步導致了極限編程的流行。 Kent Beck的貢獻遠不僅如此。對于眾多的Java程序員來說,他和Erich Gamma共同打造的JUnit,意義更加重大。也許正式這個簡單而又強大的工具,讓眾多的程序員更加認可和信賴極限編程,從而引起了Java敏捷開發(fā)的狂潮吧。
|