Java二十周年:辉煌、低谷与未来

译文
开发 后端 开发工具
甲骨文公司Java副总裁回顾J2EE、OpenJDK、安全问题以及Java 7面世的种种曲折。

甲骨文公司Java副总裁回顾J2EE、OpenJDK、安全问题以及Java 7面世的种种曲折。

[[134650]]

尽管Java语言是由Sun Microsystems公司所缔造,但自2010年收购Sun之后、甲骨文公司就成了这套平台的监护者。在此期间,甲骨文方面先后推出了Java 7与Java 8,而其版本9也将于明年与广大开发者见面。当下正值Java诞生二十周年,我们就借此机会与甲骨文公司Java平台部门软件开发副总裁Georges Saab进行直接交流,共同回顾过去、评说现在、展望未来。

记者: 甲骨文公司接掌Java至今还不到五年半。那么Java诞生二十周年对于甲骨文来说有着怎样的意义?

[[134651]]

Georges Saab

Georges Saab,甲骨文公司Java平台部门软件开发副总裁

Saab: 我们一直在努力打理一切,确保Java社区继续保持活力、充满干劲并推动该项技术不断发展。当然,甲骨文公司本身也是 Java的一大用户,因此我们也以振奋而愉悦的心情庆祝着二十周年这一里程碑的到来。二十岁对于人类来说仅仅算是步入青年,我们期待着Java能够继续充 满生机地迎来下一个二十年。

Java的各主要里程碑

记者: 您认为在过去二十年中,Java迎来了哪些主要里程碑?

Saab: 我们可以回顾过去、审视陆续出现的各个Java主要版本。很明显,Java在最初发布时的版本以及既定目标与我们如今的印象相去甚远。事实上,Java的初始设计思路是运行在机顶盒等各类嵌入式设备之上。

在当初的起步阶段,Java的类库等机制可谓体积小巧但同时又***扩展能力,因此其迅速在Web领域积累起旺盛的人气、并开始以全新的使用方式——例如在浏览器中——全面崛起。

从当初库的不断成熟与拓展一直到如今的样貌,真正让Java改头换面的变化是从1.2版本开始的。而在此之后,我想要谈谈EE(即Enterprise Edition),这也是Java发展历程中的一大里程碑。

Java将走向何处

记者: 未来Java会走向何处?我们已经在Java 8当中获得了函数编程能力,而Java 9则将带来模块化机制。是否存在着什么我们尚不知晓的Java发展路线图?

Saab: 你可以去看看OpenJDK JEP(即JDK Enhancement Proposal,JDK增强方案)的进程页面,其中列出了全部正处于讨论当中的方案思路。

一部分已经提出的JEP旨在为Java对象在内存中提供更理想的布局机制。基本上,我们建立起一个名为Valhalla的有趣项目,它的作用是为Java审查值类型。从本质上讲,该项目的着眼点位于Java主体与Java对象之间。

记者: 在未来几年内,Java还会带来哪些值得期待的变化?

Saab: 另一套看起来颇具前途的方案是Java Native Interface的新版本,它能够在Java与本机代码(例如C或者C++)之间实现数据结构共享,从而显著简化不同语言之间的调用流程。

记者: 您认为Java在未来五年、十年甚至是二十年会发生怎样的变化?

Saab: 我们对于物联网概念所带来的各种前景充满期待。Java在这一领域拥有诸多优势,它不仅有能力应对这些相当分散的碎片化设 备、同时也让开发人员得以利用自己所熟知的语言更轻松地介入其中。而且从多个角度来看,目前Java所面临的挑战以及环境与Java当初诞生并逐步发展时 非常类似。

我们在端到端系统领域面临着更多挑战,因为在这里我们需要利用设备、网关以及某种后端云服务来应对一切可能出现的状况。有鉴于此,Java正是少数几种能够在此类环境下顺利应对一切问题、并承诺通过单一解决方案让人们轻松上手的技术成果之一。

Java发展中的***低谷

记者: 在过去二十年当中,Java最令您失望的状况是什么?

Saab: JDK 6那个时期相当具有挑战性,我们在此阶段耗费了很长一段时间,而且情况直到Java 7的出现才得到改观。在某种程度上,我们可以将其归咎于当时公司所面临的一些经济问题,但当时投入的时间与精力并没有白费。经过艰难的探索,我们最终打造 出了JDK 6的代码库,并于随后将其开放——这就是后来的OpenJDK。

在这种意义上,我们又用了很长时间才推出Java的下一个主要版本,这确实教人有些失望。不过归根结底,这一切都成了OpenJDK社区的诞生历程,而也正是因为如此、我们才有了如今的Java 7与Java 8。

记者: 甲骨文公司在Java当中遭遇到大量安全问题。那么甲骨文已经取得了主动权,还是说目前安全性仍是困扰Java发展的一大阻碍?

Saab: 我们一直都在认真对待安全问题,而且这也是个要求我们永远保持警惕的老对手。我认为考虑到自身能力以及问题严重性这两大因 素,我们的工作成果已经算是不错了。而且我们也一直在以主动方式解决问题,希望借此确保Java项目拥有良好的安全改善进程,从而使得我们开发出的新功能 拥有理想的安全立足点、并最终以尽可能出色的状态与用户见面。

我们也在努力确保为利用Java语言开发软件的用户们提供必要的API,只要确切使用、这些API将切实帮助他们的应用程序获得更理想的安全水平。

如果大家关注我们每季度按时公布的关键性补丁更新追踪记录,就会发现其中所包含的漏洞修复数量相当惊人。而且在最近几次发布当中,得到修复的漏洞数量开始有所下降——这并不是因为我们玩忽职守,而是因为我们确实已经解决掉了大部分安全问题。

Java如何应对来自其它语言的挑战

记者: Java要如何应对来自其它新型编程语言的挑战——例如JavaScript、谷歌Go、谷歌Dart或者其它时髦方案?JVM本身能够承载多种语言类型。既然有这么多编程语言备选方案,Java要如何才能牢牢抓住开发人员的心?

Saab: 我们乐于看到目前这种编程语言百花齐放的态势。需要着重强调的一点是,作为Java语言的监管者,我们同时也是该语言*** 的使用者之一,我们的内部环境中拥有大量由Java编写而成的活跃应用程序。因此,我们对于Java的光明未来负有双重责任。我们不可能实验或者推出那些 无法带来良好收效的开发成果。对Java来说,它根本没有必要去尝试一大堆不同类型的新功能、从而标榜自己始终站在时代的前沿。

相反,我们勾勒出的规划在于确保自己拿出的新进展以及新技术能够***程度适用于更多用户,而且这些成果必须经过严格的检验,从而保证其精巧可行、易于理解、易于使用并能够在某种程度上具备可扩展能力。我们已经拥有类似的实例,比如Java 8当中的lambda。

当然,我们很高兴看到有这么多语言能够运行在JVM之上,而且我认为使用这些语言的用户之间会拥有良好的意见交流——这种多元而又健康的态势令我们非常振奋。

原文标题:Java at 20: Its successes, failures, and future

责任编辑:王雪燕 来源: 51CTO
相关推荐

2011-11-03 16:08:46

Vim

2015-04-30 10:19:25

戴尔云计算

2015-05-22 10:31:44

Java二十周年

2015-09-14 17:55:40

戴尔PowerEdge二十周年

2015-05-20 09:52:47

2015-06-12 16:45:08

AMD社会责任

2021-07-07 09:50:05

Bram Cohen文件共享开源

2020-04-24 13:30:44

漏洞扫描漏洞扫描器

2012-04-19 16:28:44

2021-09-16 14:26:32

网络9.11网络攻击网络安全

2013-09-25 16:00:40

FedoraLinux

2015-05-28 15:46:50

技术周刊

2015-03-19 11:10:52

GNU宣言

2014-04-08 13:29:38

BASIC

2014-07-25 19:32:10

XToolsCRM

2012-05-16 10:13:53

红帽Linux

2011-04-12 09:12:46

Linux微软

2015-09-09 11:16:31

戴尔云计算

2010-04-13 09:14:48

大型机Linux

2015-09-09 11:22:29

点赞
收藏

51CTO技术栈公众号