《开源者说》08期:聊聊Java那些事儿

June 12, 2015

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是在恰当的历史时机推出的符合历史潮流的一门语言。1995年左右,互联网的发展,使软件不再孤立存在于一个 平台。高效、安全、可移植的编程平台,成为当时很强烈的技术需求。而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年生日快乐。  (文/陈秋歌)