Java编程语言自出现以来似乎一直是个慢性子,这次终于决定做出点改变了。Java之后的更新速度终于可以和现代编程语言相提并论了。近日,Azul Systems营销副总裁Howard Green谈论了Java 8生命的终止,OpenJDK构件和Oracle JDK二进制文件之间的区别以及开发人员应如何为下一步做准备等等。
Howard Green
本月初,Oracle的Java平台组首席架构师Mark Reinhold提出,Java SE平台和JDK从历史功能驱动版本模型转变为严格的基于时间的模型。在这之后,新的功能版本每六个月或每季度更新一次,每三年发布一次长期支持。
这对于开发者来说足够快,减少了等待每一次更新版本的痛苦,对Java团队来说还不算太仓促,仍然可以高质量地提供每个版本,保护Java的兼容性、可靠性和周到的演进以及长期价值。
新的基于时间的发布节奏确实是一个非常重要的公告,但另一部分建议(至少)与新模式一样有趣,即OpenJDK在GPL下建立的计划。
作为Eclipse基金会执行总监,Mike Milinkovich在一篇名为《Java:Free》的新博文中写道,Java自发明以来就明确隐含的使用限制领域最终将被释放。开发人员可以在任何设备上自由使用Java,而不需要任何额外的许可或其他许可。
从OpenJDK直接提供Java二进制程序将为开发人员释放Java平台。直接从平台所有者获取信息,(更重要的是)它们与商业二进制文件相同,这是向前迈进的一大步。基于OpenJDK的二进制文件将与商业版本完全相同,相当于商业版本。虽然OpenJDK多年来几乎所有的Java代码都是开放源代码的,但内容、性能和可靠性的微妙差异阻碍了主流企业和工业界采用OpenJDK二进制文件。
JAXenter:似乎没有Java 10。Java 9之后的下一个主要版本将是18.3,下一个长期支持版本是18.9。虽然Java 8是长期受支持的版本,但Java 9不会。Java 8之后的第一个长期支持版本将是18.9,这表明Java 8可能会在2018年9月左右淘汰。你对这个消息有什么看法?
Howard Green:我们希望JDK 8的生命周期将至少在JDK 9的GA之后一年,标准的Oracle节奏在过去的不同时期已经下降了几个月。鉴于JDK 8的广泛采用,我们怀疑Oracle可能会选择延长其支持寿命,特别是如果JDK 9的采用速度不如JDK 8那么快。
JDK 9并没有带来很多新的高影响力的特定功能,所以从开发人员的角度来看,JDK 8并不是有趣的(从我们的角度来说)。
JAXenter:Martijn Verburg表示,他很高兴甲骨文提出加快更新节奏的建议。你同意他吗?这对市场意味着什么?
Howard Green:我同意这一观点。自Java开始以来,需要更快速的节奏,而这个计划的改变可能有助于使Java与更多的现代语言相同。从整体市场的角度来看,利益不同,因为企业Java通常是大多数核心业务应用的默认选择,而且在可预见的未来,这种趋势也不会有太大变化。将其他语言开创的强大新功能引入Java开发人员手中,肯定是社区的积极信号。
JAXenter:用户下一步如何准备?
Howard Green:与任何主要版本的关键业务软件一样,通过早期访问构建来了解新兴功能,修改现有应用程序时,如果可以增强开发人员部署新功能的生产率或提高整体系统性能,这个改变还是有很大好处的。
JAXenter:Oracle的目的应该是在OpenJDK和Oracle JDK二进制文件之间进行无缝转换,这意味着根本没有任何功能差异。你认为这会混淆用户吗? 为了让开发人员更容易,他们应该如何前进?
Howard Green:这仍然是一个悬而未决的问题。 如果没有区别的特征,OpenJDK构件与Oracle JDK二进制文件之间没有技术差异,为什么会有人选择走专利路径呢?