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編譯器的作者。

關於Bill Joy驚人的軟件才能流傳最廣的一個傳奇是,據說他在上研究生的時候,想看看自己能不能寫一個操作系統出來,於是就在三天裏寫了一個非常簡陋,但是可以使用的Unix系統, 傳說就是BSD的前身。雖然如此誇張的才情令人難以置信,但是考慮到主角是Bill Joy,還是有一定的可信度的。Bill Joy碩士畢業之後,決定到工業界發展,於是就到了當時只有一間辦公室的Sun, 他作爲主要設計者參與了SPARC微處理器的設計,負責設計最爲關鍵的一部分電路。這樣兼精軟硬件的天才實在是讓人不得不佩服啊。1995年,Sun發佈了轟動世界的Java語言。當然,Bill Joy對Java也作出了不少的貢獻,首先是JINI——一種針對分佈式服務的基礎連接技術。任何可以內嵌JVM的電子設備都可以通過JINI相互連接;JXTA是基於Java的P2P協議,允許互聯網上的軟件進行點對點交流和協作。

這個其貌不揚的瘦高個,有着凌亂的亞麻色頭髮,被《財富》雜誌譽爲“網絡時代的愛迪生”的技術狂人,在短短的二十年間,創造了無數令人心動的軟件。在MIT的BBS上曾有一個帖子,說微軟電話面試有一道題,問“Who do you think is the best coder, and why?”雖然回覆的帖子中大家都聲明列舉的best coder排名不分先後,然而大多數人仍把Bill Joy列在第一位,或許可以從一個側面驗證Bill Joy在廣大Programmer心目中的地位吧。

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影響力最大的個人

如果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十年來的掌舵者

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敏捷開發的狂潮吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章