在2017年即将结束之际,我们最好停下脚步来看看过去十二个月Java的发展情况。本文,笔者盘点了IT168企业级一年来对Java的跟踪报道。
这一年对Java来说是不容易的,从Java 9一再延期备受争议,再到拿下所有权威排行榜的前三名,Java今年发生了太多事情,饱受了很多争论。
风平浪静的一月
2017年开始之际,Jeff Luszcz解释了使用“免费”Java软件的一些陷阱以及开发者希望在Java 10中看到哪些功能。
由于一些语言服务器协议,Eclipse Che 5.0支持Java。
尚未遭遇变故的二月
我们在2月份拿到了很多顶级技术列表,主要集中在针对重要编程语言,顶尖编程语言和IT最热门工作的调查结果。对Java 9特性的持续报道继续介绍了JDK 9的早期访问文档。
本月,Google的Cloud Spanner测试版发布,完全支持Java。Oracle与谷歌的诉讼持续升温,双方继续争夺Java API。
登上最值得被学习榜单的三月
本月,Java被列为2017年最值得学习的编程语言之一。IntelliJ IDEA 2017.1加入了对Java 8的支持。另外,Stephen Colebourne解释了为什么需要利用Java 8的优势。
Angualr抢走关注点的四月
四月发生了什么? 本月,我们了解了Angular 4的顶级功能。
我们看了2017年的微服务趋势,Java消亡的预测以及Java是否对初学者不利(斯坦福大学将入门编程语言从Java换成了Python)。仔细研究了Stack Overflow调查报告,发现Java从版本9到5是非常流行的。
开始出现下滑迹象的五月
本月,主要关注TIOBE指数,榜单显示Java正在走向下滑。
其他消息包括Java的父亲詹姆斯·高斯林(James Gosling)加入与AWS合资的公司。在Eclipse中,对Eclipse Oxygen的早期观察表明,这一切都意味着Sirius更好的可用性和工作流程。
Java 9延迟消息被曝出的六月
本月是Java 9延迟消息最先发布的时候,OpenJDK管理委员会主席和甲骨文Java平台组开发副总裁Georges Saab解释了这其中的原因,由于委员会投票未通过导致这一结果。同时,他也表示Java 9不会在没有Jigsaw的情况下独自上线。
本月,Eclipse Oxygen终于发布!
为广大Java程序员打了一剂强心针,Java虽然一直被唱衰,但不会死亡,毕竟它有其自身的独特优势。(《Java不被看好,前景堪忧?程序员怎么看?》)
敲定最终发布日期却遭遇信任危机的七月
本月,Java 9终于敲定最终发布日期为9月21号,对于Java 9的一再延期,外媒采访了圈内比较知名的Java开发大神,这十位开发者对这一事件的看法各不相同,有的认为Java 9仍然是值得期待的,有的认为根本没想到Java 9可以通过委员会的投票,根本就不会有人使用Java 9.(《Java 9状况百出,Java程序员大神们都忍不住发声了!》
本月,Java 9公布了前九大改进和功能,对由于资金问题无法出现在Java 9中的JSON API进行了说明。
Java 9新一轮解读开始的八月
由于Java 9的一再延期,多数开发者对此项目充满了不信任。Monica Beckwith是一名Java/JVM 性能咨询专家,他在接受访问时表示,Java 9的亮点不是一个Jigsaw就可以概括的。Java 9加入了很多新特性,在性能等方面也有很大改进。
Java EE 8发布新功能,简化的同时扩展了平台范围,以适应当前云和web开发中的新兴技术。
在本月公布的IDE搜索排行榜中,Eclipse位居榜首,与Visual Studio、Android Studio一起成为了开发者搜索最多的IDE之一。
本月的TIOBE榜单中,Java的指数为12.961%,比去年同期下降了6个百分点,创下历史新低。
本月新发布的CheerpJ可以轻松将Java应用转换为javaScript。
Java 9终于到来但让开发者有些失望的九月
所有的延迟都是值得的,因为Java 9终于到来了,这是本月的最大事件。
9月21日,一再延期的Java 9终于正式发布。宣传最热的Jigsaw似乎并没有迅速赢得开发者的心。基于Project Jigsaw的模块化功能引起了广大程序开发人员的争议,Java商店对于模块化功能并没有立即更新,而是保守的决定等模块化成熟后再进行更新。
Azul Systems营销副总裁Howard Green在采访中表示,鉴于JDK 8的广泛采用,他怀疑Oracle可能会延长它的寿命,特别是JDK9的采用速度远不及JDK 8那么快时。
经历了Java 9延期事件,Oracle的Java平台组首席架构师Mark Reinhold提出,Java SE平台和JDK将转变为严格的基于时间模式,每六个月增加一个新功能,每季度更新一次,每三年发布一次长期支持。
此外,一组葡萄牙的研究人员在本月公布了编程语言与节能效率之间的关系,整个过程主要考虑了三个变量:执行时间、内存消耗和能耗。最终,Java成为最节能的编程语言之一。
据国外顾问机构约翰·库克博士的预测,到2039年,Java将死亡。Java被列为21世纪即将死亡的编程语言之一。
Java EE本月正式移交给了Eclipse基金会。
Kotlin虎视眈眈喧宾夺主的十月
本月对Java来说,可谓是厄运缠身。Python与Kotlin对Java的冲击显然不小。这场战争最先由Realm引爆,Realm是一家实时移动平台提供商,在本月发布了针对10万多名程序员的调查结果。数据显示,过去的四个月中,使用Java构建的Android应用程序数量下降了6.1%,该机构预测到2018年12月,Kotlin在Android领域将超越Java,这就好像Swift一步步打败了Objective-C。(《Java被抛弃?大量安卓程序员涌向Kotlin!》)
不久后,在GitHub发布的年度报告中,Python又成功挤掉了Java上升至第二位。好在Oracle及时宣布了JDK 18.3计划,才让Java扳回一城。Oracle在声明中表示,JDK9的下一个版本将更名为JDK18.3。
此外,阿里巴巴李三红在一场公开演讲中表示,阿里开发的所有Java应用程序都在运行AJDK,阿里巴巴基于丰富的Java开源定制了大部分软件生态系统。
前三季度盘点Java稳坐前三名的十一月
11月份,大家对Java 9的关注似乎有所减少(可能是因为转向了最新的Angular和Kotlin 1.2)。Kotlin 1.2最新版本的发布可能会进一步侵占Java的市场。
此外,作为加速发布周期举措的一部分,Oracle宣布“大多数版本发布应至少包含一个或两个重要功能”。为了让Java保持相关性和现代化,Oracle为Java添加了许多新特性,同时弃用了一部分特性。(《Oracle的不断改进使Java成为一门更完美的语言》)
本月还发布了针对Kotlin和Java用户的轻量级Web框架Javalin,以及在开发过程中花费了大量时间的Apache Kafka。
在本月发布的针对编程语言2017年前三季度盘点中,我们总结了前三季度发布的所有权威排行榜,无论按照流行度、易用性、主流编程语言等各项指标排名,Java都是不变的前三名。(《2017年编程语言前三季度盘点:综合所有权威排行榜及调研结果!》)
当选2018年市场需求最旺盛编程语言首位的十二月
今年即将结束,只剩下几个故事可以讲述,比如下一个Java版本将被正式称为JDK 10。
本月,Coding Dojo发布了程序员最应意识到的前七大工作机会最多的编程语言。简而言之,这是对2017年市场需求最旺盛的编程语言的总结,也是对2018年的预测。根据数据显示,Java是2017年最受欢迎的编程语言,拥有6.8万个工作机会,但是这一数字将在2018年下降至6.2万。即便下降,该编程语言同样是市场需求最旺盛的。(相关文章:《2018市场需求最旺盛编程语言:Java、Python、JavaScript!》)
同时,本月也重申了Java在数据科学领域的地位。由于数据科学家的高需求,Python和R语言被认为是直接受益者,其实,Java在数据科学领域同样可以发挥巨大作用。另外,Buildship 2.2现在支持Java 9。(《强心针:Java在数据科学领域同样是王者!》)
展望未来
Java在未来一年还有哪些值得期待的事情呢?根据Oracle的计划,2018年3月底或4月初,Java 10似乎将准备就绪。新版Java最有可能包含的特性是目前处于目标状态或建议目标状态的JEP。主要涉及以下功能:
·局部变量类型推断
·将JDKForest 合并到单个存储库中
·垃圾收集器接口
·G1的并行完整GC
·应用程序类数据共享
·Thread-Local Handshakes
然而,未来一年到底会发生什么显然不是可预测的。对Java来说,2017年是伟大的一年,让我们共同期待接下来会发生什么吧!