Java发展方向自从Oracle收购了Sun之后一直就是Java社区内一个讨论的焦点。对于Java爱好者来会所Sun的领导无疑让Java得到了空间的繁荣,但是由于Sun的经营策略问题,似乎Java获得了无上的荣耀但自己却没有赚足养活自己的本钱。于是乎最善于经营的Oracle接管了Java,无论从前端时间的MySQL即将推出免费版和收费版,还是最近Oracle宣布即将推出收费版和免费版的JVM来看,赚钱对于Oracle来说才是第一目标,当然在这期间推动Java发展也是必然的了。那么Java发展方向究竟在何方呢?我们一起来看看InfoQ虚拟会谈上大家是如何说的吧。
虚拟座谈会是InfoQ中文站新近推出的一类讨论形式的虚拟会谈,一般会就最近发生在业界的技术事件,邀请来自社区、厂商、开发者、技术媒体的代表,对其表达自己的看法和理解,为国内的广大社区和技术从业者指明技术发展的方向,互相促进,共同提高。
这个月以来,Oracle在JDK和JVM的发展上,动作频频,具体可参见InfoQ中文站的内容。为此,InfoQ特地邀请了来自普元的资深架构师冯兴智博士、Oracle大中华区产品战略部总监刘松先生、IBM中国开发中心CTO及IBM杰出工程师毛新生先生、淘宝网资深总监及开放平台副总裁王文彬博士,就下面的问题发表了自己的见解。
1. 您觉得Oracle对Java的发展做出的选择,是基于怎样的考虑呢?您觉得Java的未来之路在哪里?
冯:对于Java发展的选择,Oracle作为一个商业公司更多的是从商业上的考虑,例如在JDK版本上计划中 的JDK7就没有包含模块化和Swing应用框架这些开发者社区讨论了很久并且非常兴奋的新特性。从另一个角度看,Java的发展也确实需要有领导厂商的 推动,才能保证新版本的按时推出。
对于Java未来,由于有IBM和Oracle公司的合作推动,Java前景还是非常光明的。并且有广大的开发人员支持,目前比较看好 OpenJDK。Oracle已经表态JRockit与HotSpot将会合并为单独一个JVM,,合并后的成果将会持续不断地加到OpenJDK当中, 由于Oralce未来对JVM采取开源和商业两种模式,所以很多企业级特性估计将会只包含在商业版本中。
Java的未来在于进入企业核心应用和关键业务领域,例如银行的新一代核心系统。其价值与其他新兴技术相比,优势在于服务器端。
刘:在不久前圆满结束的旧金山 JavaOne 大会上,Oracle软件开发部的执行副总汤玛斯 库利安 (Thomas Kurian;以下简称“库总”) 对所有关切Java未来走势的粉丝们说明未来的发展规划。库总激动地表示:“甲骨文深信,Java 社区期待成果。凭借我们在 Java 平台持续地增加投资,聚焦在向社区提供价值的功能上,和不懈地专注于提升性能,Java 语言和平台的未来是光明的”。“此外,甲骨文将继续致力于将 OpenJDK 作为最好的开源 Java 实现,我们并将继续改善 OpenJDK,同时更欢迎外部的贡献者”。
- Java SE 部分 – 甲骨文正在推进Java平台,将其优化来支持新的应用模式和硬件,包括对脚本语言的扩展支持,提高开发人员的生产力并降 低运营的成本。
- Java EE 部分 – Java EE 将继续演化,使应用服务器更加模块化,此外通过包括诸如依赖注入等新功能的提升,使编程更加有效率,同时降低配置 要求。
毛:首先,Oracle最近确实在多个领域推动着Java的发展,尤其是在OpenJDK社区的建设上,更加开 放,这是顺应广大Java社区开发者的要求。一个特别大的变化是,IBM在10月份的时候,宣布加入到OpenJDK社区,和Oracle一道加速 Java平台革新的步伐,并将通力合作继续优化JCP,推进Java规范方面的主要工作。 IBM和Oracle,作为Java阵营中的两个最大的支持者,对于Java的承诺,以及RedHat、Apple等厂商的先后加入OpenJDK的社 区,这些变化打消了许多人对于Java未来的顾虑,对于建立一个良好的Java生态环境非常重要。大家现在可以基于共同的类库代码,将核心的平台开发群体 联合起来。而Java的未来之路也正在于这个开放健康的生态环境,这是Java能够继续创新的土壤。值得指出的是,IBM在OpenJDK中关注的重点是 类库,同时将继续开发和使用IBM自有的J9虚拟机。未来多个虚拟机实现之间的竞争将持续促进Java底层的不断创新。
王:Oracle是一个大公司,所以它作出的选择一定会相对比较保守。它的原则我在臆测是防守型的策略,也就是 平常是不会介入Java方向的定制,但是会去防范对手把Java变成对手自己的优势。所以才会有些侵权的诉讼及和Apache之间的纠纷。Java我认为 还是相对开放的。Oracle也知道如果大家都不支持Java,那么这个语言很快会被其他新的语言取代。
2. 对于国内那些仍然依赖Java平台的软件厂商,如何选择未来的Java中间件技术,关系到很多企业主干应用的发展,对此您有怎样的建议呢?
冯:对于软件厂商来说,基于Java平台的应用服务器、企业服务总线、消息中间件、流程引擎这些企业应用的关键 运行平台还会在相当长的时间内被广泛使用。但是随着硬件技术的飞速发展,以及新的应用模式和商业模式例如SOA、云计算的出现和成熟,面向企业应用的开发 语言例如JAVA越来越需要关注并行计算、多核编程、极限事务处理等。例如金融行业,现在Java慢慢也在逐步走入金融核心领域,很多集成商和行业最终用 户都在基于Java和SOA做银行的新一代核心。而且轻量级的IOC容器、OSGi的应用服务器已经逐步成为主流,尤其是在云计算的大环境下,EJB在慢 慢老去,企业应用的互联网化、“云化”是大势所趋。
刘:在此建议未来国内企业主干应用中间件的选择和应用的 开发,要持续关注Java EE 标准规范的发展,如此才能一如以往般,继续保持跨不同应用服务器产品间移植的弹性,未来不至于被特定的平台限制或锁定。在我们在合并了Sun之 后,Glassfish 将继续担任Java EE 的开源参考实现 (RI) 平台,和 WebLogic 并列为 Oracle 两大重点支持的战略应用服务器。
毛:目前基于Java中间件的平台领导者,像IBM, Oracle还有RedHat的JBoss,都一起携手OpenJDK的建设。这对于国内依赖于Java平台的厂商是件好事情,因为这些联盟会加快 Java平台的创新,并且会吸引更多的软件厂商参与到Java生态环境的建设当中,这是一个良性的循环。当然,既有合作又有竞争,IBM还会在基于开放 Java技术的基础上,增加更加高级的功能,推出更强大的中间件产品,以满足更多客户,和企业级核心应用的要求。
王:选择中间件技术和使用的语言我觉得可以分开考量。也就是说,我们应该相信Java以后的开放性,而可以自由选择架构在上面的中间件。当然,我认为上面的中间件还是以开源的产品最有竞争力。
3. 对于从事Java开发的广大开发者,您有什么样的话要说?
冯:多语言混搭技术是趋势,建议多关注一些基于JVM的脚本化语言如Fantom、Groovy、JRuby、 Clojure以及Scala等。学习并掌握基于消息的编程思想,关注Erlang这样轻量级进程的语言。鉴于Oracle的商业运作模式,基于JVM作 商业化版本提供企业级特性,因为有技术门槛可能会形成比较高的技术和经济价值。
刘:一如库总所强调:Java不但对Oracle自身至 为关键,更重要的是,在经历了一段风风雨雨和停顿之后,Java JCP 社区成员们团结一致,让Java平台重启势头,恢复动力,是我们的当务之急。库总在大会上,还通过比较委婉的语气,表达了这样的意思:Sun之前有许多挺 好的想法,但不见得具备能力(和足够的预算)来 把它们具体落地;现在Oracle打算运用自身的执行力(例如之前对BEA和其他Java厂商的收购和整合)来落实交付,让Java 再次动起来。 总结一句话:伟大的Java ,能有今天的成就,非常不容易,甲骨文想让它变得更好,更欢迎大家加入我们的行列。
毛:对于广大Java开发者来说,包括IBM在内的更多的厂商对Java的承诺,和OpenJDK的建设,会为 Java的革新和发展注入新的活力。另外,IBM一直以来对于开放源码和开放标准的支持,会大大的推动Java生态环境的健康发展,比如,引导JCP向着 一个更民主,透明和开放的方向发展。此外,对于Java开发者所需要的相关开发环境和框架,比如Eclipse社区的发展,也会随着Java的发展而更加 壮大,被更大范围的接受。
王:建议Oracle像IBM一样把Eclipse捐献出来,而不是想着靠执照来盈利。现在的时代,竞争力是产品服务而不是软件的执照。
摘自:infoq