名师对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主导权落入中国,因此这一点咱们只能是空想。oop

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

Java刚开始的时候,由于各类应用和生态不成熟,不少东西须要有人牵头制定强制规范引导Java的发展,因而Java EE曾经引领了企业级应用的开发。spa

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

现代企业级应用经常使用的各类框架和工具,好比Struts 二、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的“夫惟不争,故天下莫能与之争”。

相关文章
相关标签/搜索