《開源者說》08期:聊聊Java那些事兒
2015年5月23日,Java迎來了它的20歲生日。為了這一特別日子,向Java獻上一份生日禮物,《開源者說》特別邀請了前GNOME基金 會董事、北京GNOME用戶組創辦人陳陽(Emily)擔任主持,請前美國Mozilla公司全球總裁、曾任美國微軟MSN事業部中國區總經理、SUN中 國工程研究院院長、被譽為中國Java第一人宮力和清華大學計算機科學與技術系副教授、常年從事Java教學的許斌,聊聊他們與Java之間的那些事兒。
陳陽(左一) 、宮力(中間)、許斌(右一)
主持人:
陳陽(Emily):前GNOME基金會董事,北京GNOME用戶組創辦人
嘉賓:
- 宮力:美國Mozilla公司全球總裁、曾任美國微軟MSN事業部中國區總經理、SUN中國工程研究院院長、被譽為中國Java第一人
- 許斌:清華大學計算機科學與技術系副教授、常年從事Java教學
下面是本次訪談主要內容整理,僅供參考。
Emily:兩位老師都長時間從事Java相關工作。首先請兩位分別談談是如何與Java結緣的。
宮力: 1995年,Sun發布Java時,我正在斯坦福國際研究院工作,主要專注安全領域。Java,作為新鮮事物,當時引起了業界的極大關注。Java一開始 還比較簡單,關于其存在哪些問題的討論很多。為此,我還和一位資深Unix老前輩,專門邀請了James Gosling及其他Sun、Netscape 和微軟的專家,探討如何解決Java存在的問題。此次的研討會,也讓James Gosling感覺到Java存在的諸多問題,同時邀請我加入Sun,共 同改善Java。因此機緣,幾個月后我便加入了Sun公司的Java安全和網絡組,負責安全和網絡方面的設計與實現工作。
許斌: 我的經歷和宮力博士有些不同。Java的發布,在國內同樣引起了很多學者的關注,清華大學王克宏教授最早在1996年就開始接觸和推廣Java。1998年,清華大學研究生畢業后,我留校并加入了王克宏教授的研究小組。他是我進入Java領域的領路人。
為了在中國推廣Java,我們做了好幾件事,其中之一就是出書。Java系列叢書于1996年開始印刷,是國內最早的Java教程。此外,在王克 宏教授的建議下,1998年Sun公司從全國挑選了10所大學,開辦了Java培訓中心。清華大學作為其中之一,為Java的培訓推廣做出了巨大貢 獻,2000年被授予最佳Sun授權培訓中心。
清華大學被授予2000年度最佳Sun授權Java培訓中心
Emily:2006年10月,Java采用GPLv2授權協議開源。請兩位談談Java在什么環境下決定開源?開源的初衷是什么?開源前后有什么不一樣?
宮力: 1995年那會,開源還不像現在這樣被公認,它只是一種選擇。當時Sun公司雖然也認可這種想法,但考慮到商業競爭等因素,保證Java可以快速發展,不 被其它因素所累,Sun還是選擇了完全控制Java。不過Sun還是采取了很開放的態度,如成立各種顧問委員員,邀請各領域人士參與有關Java相關問題 的討論。這種方式后來演變成了JCP,讓有興趣的各方人士參與定義Java的特征和未來版本,這時算是半開放狀態。隨著Java平臺的成熟及與商業競爭關 系的轉變,2006年Java全面開放。可以說,Java平臺的開放是一個逐漸過程。
許斌: JCP,讓業界共同參與Java的改進,是非常好的策略,也體現了Sun的開放態度。Java每次版本更新,都采納了很多來自外界的建議和意見,讓大家都 可以利用自己的智慧推進Java的發展,這是一件很棒的事情,同時也是一件很難把控的事情。相反,看看Unix的發展過程,各種商業利益的進入,導致好多 不同版本的產生。由此,我覺得Sun對Java開放過程把握得恰到好處。
Emily:Java成功發展20多年,非常少見。請兩位談談Java的成功因素有哪些?
宮力: 我覺得一個平臺或語言要想成功,主要基于兩個因素。一是實力,即該平臺或語言(有存在價值),值得成為平臺;二是實力足夠強,同時還比較幸運。Java同 時具有這兩點。Java剛發布時,Web主要以靜態頁面為主。Java的出現,讓人們驚訝地體會到Web頁面原來還可以“動”。這對很多人來說,簡直是天 壤之別,也促使Java的關注度一下提升了上來。
另外,Java之所以能發展到今天,更主要是它解決了當時很多問題,具有很好的持久力。比如Java對程序員編寫安全程序提供了很好的防護措施。 拿它與C語言相比,如果開發者對C語言不是很精通,或因為粗心,所寫代碼往往會帶來很多安全問題。而Java語言為開發者提供了適當的控制和一定的幫助, 保證程序不太容易出現致命的錯誤。在這一點上,Java做得十分好,并引起C#等各種語言紛紛效仿。同時Java也是第一個成功應用垃圾回收的商業語言。 程序員不用考慮內存溢出問題,Java自動解決,而在C和C++中這是很令人頭疼的事情。此外,還有很多小地方也做得非常好,如Javadoc將文檔的書 寫和組織進行了較大革新,新上一臺階。
許斌: Java是在恰當的歷史時機推出的符合歷史潮流的一門語言。95年左右,互聯網的發展,使軟件不再孤立存在于一個平臺。高效、安全、可移植的編程平臺,成 為當時很強烈的技術需求。而Java作為面向互聯網的語言,其“Write Once,Run Anywhere”的特點,使網絡編程更加方便,軟件編寫 一次,即可在多平臺運行,順應了互聯網發展潮流。Java的成功,還得益于其在安全和功能上的平衡把握,正如宮力博士提到的那樣。
Emily:Java順勢而生,在90年代末20世紀初充分發揮了自身優勢。現代云計算、物聯網迅猛發展,有人說Java即將迎來它的第二春。請兩位對此談談各自的看法。
許斌: 憑借Java自身的強大優勢,它正被越來越多的新平臺所采用,所占“疆域”也在不斷向外擴展,比如在云計算和物聯網領域,Java作為Hadoop、 Android的開發語言,允分體現了現在科技發展中堅力量對Java的肯定。而對于從事Java的開發人員來說,進入云計算、移動端領域也會容易很多。
宮力: 云計算與虛擬機密不可分,而真正將虛擬機由科學理論帶向商用舞臺的正是Java。Java讓虛擬機成為現實,是對云計算領域的一項意想不到的貢獻。
今天Java在物聯網領域的應用,似乎又回到了Java的誕生初衷——實現嵌入式設備的網絡互聯。起初Java推出Java ME時,意在進行嵌 入式開發,但鑒于當時的歷史發展條件,Java ME并未撼動移動領域。而iPhone的推出,造就了如今Java在移動端的地位。實現萬物互聯,目前還 存在很多技術空白,面對這一歷史機遇,Java還有很大機會。
Emily:最后想請兩位分享一下你們與Java之間發生的小故事。
許斌: 我曾多次參加Java One Conference,在Sun被Oracle收購之前,可能是國內參加該盛會最多的人之一。最讓我震撼的是,有一年該會 吸引了兩萬五千多人參加。在當時看來,全世界每100名Java程序員中就有一名參加了該會,大家對Java的追捧和熱愛可謂瘋狂與火爆。同時會場上空還 有直升飛機拉起標語,摩托車后面掛著標語,在開動時隨風飄揚,會場氛圍十分熱烈,讓人印象深刻。
Java One大會上,許斌與 Java之父 James Gosling的合影留念
另外,Sun為了促進Java的發展,從全世界選出對Java有突出應用、推廣貢獻的約100人,授予“Java產品”稱號,中國有兩人,我是其 中之一。每次參加Java One,大家都會聚在一起,圍繞Java各抒己見,紛紛發表自己的意見、建議,開放的態度,深入的交流,對我自身的影響很大。
Emily:最后祝福Java 20年生日快樂。 (文/陳秋歌)