疯狂软件对Oracle放弃Java EE的看法

近日网络上出现了一些关于Oracle将要放弃Java EE的说法,在Java行业引起不小的关注,甚至有些人开始担心Java会不会就此消亡,但事实上这不过是杞人忧天,疯狂软件教学总监李刚根据多年来Java行业的从业经验,对此提出以下几点分析抛砖引玉,供广大Java从业者参考。

第一点:Oracle根本没有力量左右Java发展

自从Java发展壮大以来,无论是以前的Sun公司,还是后来Oracle公司,一直都无力左右Java的发展:实际上Java的规范制定,都需要通过JCP审核,一些新机制、新功能往往并不是Oracle想加就加的,Java是一个庞大的生态圈,由庞大的社区力量在推动Java的发展。

Java本身有太多的规范都是来自社区的。世界上大量开源组织和公司,为Java贡献了非常多的专利和代码,每次JavaOne大会都是全世界Java界的圣会,汇聚一堂讨论、决定Java的走向和发展。

Java世界,可以说正左右着全球的发展,全球所有顶级的、核心的项目,绝大部分都是基于Java做的,即使不是完全基于Java,也和Java有千丝万缕的关系。深入最深的是美国。美国军方绝大部分的控制系统、甚至航天控制系统,都是基于Java或者和Java相关的。

除此之外,包括世界上所有的银行、通讯、航空、电力、交通、公共安全等领域的核心系统,也都是基于Java的,如果完全放弃Java,等同于把世界上所有的这些应用系统全部要替换掉,哪个公司、哪个团体有这个能力?如果这些系统全部不能运行,人类社会等同于重回到传统时代!

如果放弃Java,你不能从银行取钱、不能在线买飞机票、火车票、不能在线购买商品、不能刷公交卡、不能打电话……甚至连你的身份证信息都不复存在!

有人说:Java不赚钱,因为Java规范是开放的,所以Oracle才想要放弃。但如果真的不赚钱,那么Oracle为何要和谷歌因为Java的专利而打官司呢?

第二点:即使Oracle放弃Java,其他的公司会乐意继续扛起Java的大旗

先说现在正在和Oracle打官司的谷歌,正是因为Java的各种专利纠纷,如果Oracle真的愿意放弃Java,那么谷歌将首先表示欢迎、并非常乐意继续领导Java的发展。

即使谷歌不想要Java,光是国内的那些巨头,个个都想要Java,以便对自己的产品进行更深度的定制,现在因为要定制自己的产品。此外,能肩负扛起Java大旗的风光,国内软件巨头都不差钱,他们绝对非常乐意去做这件事情。不过话说回来,美国政府应该不会允许Java主导权落入中国,所以这一点我们只能是空想。

第三点:Oracle可能放弃Java EE,但不会放弃Java

Java刚开始的时候,因为各种应用和生态不成熟,很多东西需要有人牵头制定强制规范引导Java的发展,于是Java EE曾经引领了企业级应用的开发。

但随着时代的进步,以及越来越多的公司和组织参与到Java世界,出现了各种各样的Java EE组件的代替者,比如Hibernate、Spring就是其中两个典型。相反,Java官方制定的各种Java EE规范反而不太受欢迎,他们制定了JSF规范,但实际企业开发喜欢用Struts 2、Spring MVC;他们制定了EJB规范,但实际企业开发往往还是喜欢用Spring;他们制定了JPA规范,但实际企业开发往往还是喜欢直接用Hibernate、MyBatis。

现代企业级应用常用的各种框架和工具,比如Struts 2、Spring、Hibernate、jBPM、Activiti、Lucene、Hadoop、Drools、CXF等这些大家耳熟能详的组件,全部都不是来自Oracle官方,但是却在企业应用中开发经常用到的。

现在企业里面,真正常用的Java EE规范有什么?Servlet、JSP、JMS、JNDI。这些技术都只是充当了一个程序的入口而已。

Oracle之所以可能考虑放弃Java EE,正体现了Oracle对丧失Java控制权的无奈。企业的本质是逐利,Oracle每年为制定Java EE规范投入不少人力、财力,但制定的规范最终并没有获得市场的青睐,所以Oracle可能放弃这种吃亏不讨好的事情。

但Java不同,2016年6月,Java在商业语言排行榜上的市场份额将近21%,庞大到恐怖的市场份额,背后隐藏着巨大各种专利使用费和盈利商机,任何一个理智的公司都不会放弃这个会下金蛋的母鸡。

第四点:从C的历史来看Java,Java绝不会过时

C语言是一个诞生于上个世纪70年代的编程语言,在AT&T的贝尔实验室里面,由一个想玩游戏的老伙伴整出来的。

后来随着社区力量的介入,C形成了国际标准,参与其中的厂商、开发者不计其数。贝尔实验室早已不复存在,连AT&T也早已解体,但C语言依然坚挺,偶尔还跑到Java的前面,排名第一!

C发展到现在,已经形成了整个软件、硬件产业上下级纽带,绝大部分硬件设备的固件、驱动程序都是C语言写的。我所知道的操作系统的内核,也都是基于C语言。如果换掉C语言,现在电脑会变成裸机,可能还不如一堆废铁。

Java现在的情形,和C非常相似:Java已经深入到世界的骨髓。正如前文指出的:从美国的航空航天、军方控制系统,到日常生活的银行、通讯、电力、交通、公共安全等领域的核心系统,绝大部分都是基于Java开发。正如世界无法淘汰C一样,世界也无法淘汰Java。

第五点:Java可能不是最好的语言,但Java是最成熟的整体解决方案

经常有人会问我,Java是最好的编程语言吗?我会告诉他:应该不是。我知道的很多语言,如果仅就语言功能来说确实优于Java,就比如日趋没落的C#,由于很多特性都模仿了Java,有在某些方面做出了改进,因此语言特性要优于Java;再比如Apple新推出的Swift,编写起来简洁、优雅……然而并没有什么用,它们都无力、也不可能取代Java。就像世界上比C优秀的语言多如牛毛,但C依然、也将一直坚挺。

Java可能不是最好的语言,但Java一定是最成熟的整体解决方案。举几个业内公开事实:taobao最初使用了PHP,发展、壮大起来不得不全部换成Java实现;京东最初使用了dot Net实现,发展起来之后整个后台不得不换成Java实现;小米服务端的消息系统最初使用Erlang开发,当时消息推送系统的第一版是基于Erlang的,随着小米用户数量的增长,后来开发团队不得不选择使用Java重新开发……还有无数中小型的企业“迷途知返”的案例,我就不想一一列举了。从这些事实可以发现,对于一个并发量小、稳定性要求不高的系统来说,可供选择的方案看似很多:PHP、dot Net、Erlang……,但公司发展壮大之后,最成熟的解决方案却只能是Java。

Java的成熟并非体现在Java语言特性多么简介、优雅,而是来自它庞大的社区和开发者,以及各种各样框架、类库和工具。软件行业的各种新理论,新方法,几乎最先都是用Java实现的。选择Java作为企业级应用的解决方案,可以避免地“重复造轮子”,很多开发中面临的棘手难题,往往都有开源的解决方案;几乎所有行业,都有非常成熟的Java应用案例,可供后来的开发者作为参考。选择Java,并不是简单地选择了一门语言,而是选择了一个成熟、稳定的解决方案。

Java的成熟更体现在包容气度上,有人说Java语法臃肿、更喜欢Ruby,OK,那就JRuby吧;有人说我喜欢Python,OK,那就Groovy、Jython吧;有人说我喜欢Lisp,OK,那就Clojure吧……各种语言的开发者都可在JVM上大展拳脚,Java以海纳百川的方式包容、融汇着各种语言的特性,最终成就了Java的“夫唯不争,故天下莫能与之争”。

本文选自:http://www.yidianzixun.com/n/0DrZh6sE?s=9

时间: 2024-10-26 05:39:33

疯狂软件对Oracle放弃Java EE的看法的相关文章

Oracle 宣布 Java EE 8 推迟到2017年年底发布

经过数周的猜测,甲骨文集团副总裁,负责 Java EE 和 WebLogic Server 的 Anil Gaur,在2016的 Javaone 盛会上正式公布了 Oracle 为 Java EE 规划的路线图.计划在2017年底发布具备基础微服务和云服务能力的 Java EE 8,2018年底发布 Java EE 9. 对于新特性,Anil Gaur 表示,虽然新的应用开发方式像是 reactive programming (响应式编程)和 containerisation 能带来较大的好处,

Oracle与JCP执行委员会分享了他们的Java EE策略

Anil Gaur是Oracle集团负责Java EE和WebLogic Server的副总裁.他受邀在上一次的JCP执行委员会会议上发表了演讲,透露了有关Java EE未来发展的一些信息.他所传达的信息和Oracle之前的说法一致:企业编程正在发生变化,Oracle希望适应这种变化.然而,执行委员会成员后续的提问突出了Oracle计划里的缺陷. 大约六个周之前,在Oracle产品开发总裁Thomas Kurian就有关Java EE的话题接受了采访之后,我们很明显可以知道,Oracle正在制定

Oracle在JavaOne上宣布Java EE 8将会延期至2017年底

经过数周的猜测之后,Oracle负责Java EE和WebLogic Server的副总裁Anil Gaur在JavaOne上公布了Oracle针对Java EE的路线图.他们的规划包括在2017年底发布Java EE 8,这个版本会具备基本的微服务和云功能,并且计划在此一年后发布Java EE 9,这个版本将会包含进一步的特性. 这与一个月前他在JCP执行委员会上的表述一致,也与对Oracle产品开发总裁Thomas Kurian的采访相符,Gaur在JavaOne上的Java主旨演讲涉及到三

由 Eclipse 基金会接手的 Java EE 正在发生改变

Java EE 的新东家开始对 Java EE 的开发工作和支持进行更改. 自 Java EE 移交给 Eclipse 基金会以来,它的开发工作和管理方式正在开始改变. 一方面,Oracle 正在制作 Java EE 技术兼容性工具包(TCK - Technology Compatibility Kits),该工具是开源的,可以确定一个实现是否符合与 Java 兼容.Eclipse 执行总监 Milinkovich 称这是"对这个生态系统的驱动力的一个非常根本的变化". Milinko

微服务:Java EE的掘墓人

在Java问世之初,包括IBM.BEA.Oracle在内的一些巨头公司看到了Java作为一门杰出的Web编程语言可能给他们带来的巨大商机.那么如何通过一门编程语言来赚钱呢?答案就是使用这门语言构建复杂无比的服务器,让那些大公司支付一大笔费用来购买这些服务器.于是紧接着就出现了Java EE规范.JSR规范,以及WebLogic.WebSphere等服务器中间件. 在这些服务器上面部署了大型的程序包,它们运行缓慢,消耗大量的内存.基于这些容器的开发和调试对开发人员来说简直就是噩梦,作为对他们的补偿

企业版Java EE正式易主 甲骨文再次放手

有人说甲骨文收购的东西大多没有了好下场,这么说虽然有些片面,但是最近一个月Java EE和Solaris的境遇难免让人产生类似的联想. 继笔者上次报道<甲骨文将放弃Java EE 开源基金会双手欢迎>之后,最新消息显示,原本在甲骨文手中的Java企业版(Java Enterprise Edition,Java EE)将正式易主Eclipse 基金会. 虽然易主的消息已经传了一年,但是在本月初Java EE 8 最新规范发布来看,甲骨文并没有透露相关消息.而从现在的信息来看,甲骨文选择Eclip

调查显示,Java EE 用户需要更多的 REST

自世纪初以来,Java企业版(Java EE)一直是许多企业以 Web 为中心,面向服务,支持云计算组件的核心.不过最近有许多用户,包括它的死忠粉也一直在问,它的框架是否已经过时,并正在被更轻量.更敏捷和更简单的设置,如容器.云服务或 API 取代. 为了回应 Java EE 现在面临的问题,Oracle 的 Java EE 开发团队在社区对 Java EE 的用户进行了一次调查,以了解该框架后续该为其企业基础服务的方向.共有1693个 Java EE 社区成员参与了调查,这些发现将有助于确定哪

Java EE 即将死去,毫无疑问!

在Java问世之初,包括IBM.BEA.Oracle在内的一些巨头公司看到了Java作为一门杰出的Web编程语言可能给他们带来的巨大商机.那么如何通过一门编程语言来赚钱呢?答案就是使用这门语言构建复杂无比的服务器,让那些大公司支付一大笔费用来购买这些服务器.于是紧接着就出现了Java EE规范.JSR规范,以及WebLogic.WebSphere等服务器中间件. 在这些服务器上面部署了大型的程序包,它们运行缓慢,消耗大量的内存.基于这些容器的开发和调试对开发人员来说简直就是噩梦,作为对他们的补偿

Oracle:将继续支持Java EE

从2015年秋天开始,Oracle将开发资源转移到其它项目,服务端Java应用企业框架Java EE的开发事实上已经停止了.然而该公司发言人Mike Moeller却称甲骨文承诺会继续支持Java和Java EE. 据悉,即将发布的最新版本为Java EE 8,目前Oracle正在与Java社区的关键伙伴密切合作新版工具,具体细节将在今年9月的JavaOne会议上与Java社区分享. 但这一消息却着实让Java社区的开发者有些"蒙圈",因为前后不一致的表述会让人摸不着头脑.不过既然甲骨