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