在 V2EX 看到这个问题 升级到 Java 11 的理由 想起了最近的 Go1.11 。感慨良多。
下面的文字有点偏激,大家轻拍
Java 11 的特性,我很早就看过了。自己也不知道是什么感觉。最大的改变,应该是同行说,Java 11 出了,我说,哦,知道了。 对,没下文了。 我甚至提不起兴趣和他讨论一番 Java 11 到底改了啥。
升级到 Java 8 估计很多人都有动力,升级到 Java 9 有动力吗? 说句实话,没有,如果不信,你看看 Java 9 特性介绍 就知道了。
说出你的感受,当你看到 Java 9 新特性的时候,你是什么感觉?如果不是学习,你想升级吗?
Java 9 出的 JShell 看起来很有用,但是说句实在话,当我写完这个系列的文章,我都不想用 JShell 了。别人的 REPL 还能编辑一大段代码,JShell 的上翻功能,竟然只翻了一行,对,一行。气死我了。
人家,隔壁的 Python3 的 IDLE 外部编辑器好歹还有个语法高亮,JShell 的外部编辑器就是一个输入框,三个按钮,简单粗暴无比了。
对于 JShell,另一个更气人的事实,就是,JShell 对外部编辑器做的还不够,没有监控文件功能。不过这也不怪它,比如我有一次尝试将外部编辑器设置为 Sublime Text 3 。结果,保存的时候竟然没自动运行。但如果设置为 vi
或 vim
就能。
同样的道理,升级到 Java 10 ,升级到 Java 11 ,升级到 Java 12 ( 还没出,也快了 ),有动力吗?除了写一些文章需要,说实话,也没那个动力。
为什么呢? 用的人少,坑没趟够,能减少代码量吗? 没有,能显著提高性能吗? 没有,我的 Java 6 7 8 知识会在 Java 12 淘汰吗? 没有
既然没有,那升级,就没动力了。
当然我有,我有两台电脑,生产环境使用 Java 8 ,写文章的时候,都是最新的 Java 11 了。
但是公司的代码,我真的想不起来哪个 Java 9 以上的版本特性可以用来节省代码量。
Java 的版本发展的有点快了,但 Java 的特性却跟不上 Java 的版本速度。这是事实。
面对这个事实,我自己的选择,公司的代码,宁愿坚守在 Java 8 。