《开源者说》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年生日快乐。 (文/陈秋歌)