美国上市公司,专注Java培训21年

2020年Java发展趋势情况分析


Java已经是一门具有20多年历史的老牌语言,雄霸编程语言排行榜榜首多年的Java目前也面临着越来越大来自新兴语言的挑战和使用者们的批评。InfoQ英文站的编辑们按照技术采用生命周期的理论对Java在2020的发展趋势做了分析,Java老矣,Java却仍年轻。

Java微服务框架大洗牌,SpringBoot和SpringCloud进入晚期大众阶段。这表示它们的采用率增长正在减缓(因为市场趋于饱和),而不是说开发者会弃用这些框架。Helidon和Microprofile进入早期采用者阶段,不过我们认为vert.x会因为相对利基的市场无法跨过早期采用者阶段。

以下内容整理自InfoQJava板块编辑的内部沟通邮件,提供了更多有关我们如何制定Java趋势图的背景信息。

DanielBryant,独立技术顾问,Datawire产品架构师,InfoQ新闻板块主管:

又到了更新Java趋势图的时间。我迫不及待地想要看到我们在2018年所跟踪的技术是否出现在了趋势图正确的位置上,以及新增或移除了哪些技术。

首先是创新者阶段的变化:

将Java11改为Java12/13;

将OpenJ9移到早期采用者阶段;

加入Java模块化系统;

加入Quarkus。

早期采用者阶段的变化:

将Spock移到晚期采用者阶段;

将微服务框架移到晚期大众阶段,但Lagom和Microprofile除外?

加入Helidon。

ErikCostlow,软件架构师,专注于安全和Java领域:

将Java8移到落后者阶段。Java8是在2014年发布的,Oracle已经不再为它提供公共免费支持。

Java11(LTS版本)仍然待在早期采用者阶段;

Java13(非LTS版本)进入创新者阶段;

开发者对Graal本身并不是很感兴趣,但他们需要这些东西:

1、可以将Java编译成本地应用(本地镜像);

2、多语言支持(例如RubyTruffle)。

3、Graal本地镜像有一个问题——如果Java或其他JVM供应商也提供了静态编译那会怎样?本地镜像并没有通过TCK。关键问题是其他JVM供应商可以这么做吗?如果他们这么做了会怎样?

非HotSpot虚拟机除了Graal和OpenJ9,还有Excelsior、Azul、Liberica、Corretto、AlibabaDragonwell、AdoptOpenJDK、RedHat,等等。

JVM上的Node已死。

将测试框架移到早期大众阶段。

将SpringBoot移到晚期大众阶段。

将“JavaEE到JakartaEE的迁移“放在创新者阶段,我觉得这会很有意思。

现在有太多的Java发行版。我希望在创新者阶段能够有与这个问题相关的内容:如何大规模管理这些发行版或者如何在不同团队、系统之间管理好它们。如果一个应用程序可以被编译成本地应用,那么谁来负责给”JRE“打补丁?这又意味着什么?

DustinSchultz,首席软件工程师,Pluralsight作者,技术布道师:

我赞同关于创新者阶段的说法。

但我不认为Spock会跳出早期采用者阶段,毕竟我还没有看到它被大量采用。

除了Vertx,我会将其他微服务框架移出早期采用者阶段……或许Lagom可以留下。我不确定它们在以后会不会跳出这个阶段。

或许可以将Groovy移到晚期大众阶段,因为它的表现太一般。

CharlesHumble,InfoQ首席编辑:

我同意你们的大部分说法。Java模块化系统采用也是一个很有趣的话题。我敢肯定OSGI拥护者对于将它放在创新者阶段会有意见,但这样做可能是对的。

我想可以将Clojure移到晚期大众阶段。当然,人们还在用它,但我感觉到它的使用量在下降,而且它本身面向的就是利基市场。

我会将Ceylon移掉。它一直以来都没有获得太多关注,而且我不认为进入Eclipse会给它带来多大帮助。这个项目的活跃度很低,过去6个月只有10个代码提交。

测试框架的趋势看起来相当稳定。我们要把它移掉吗?从采用率来看,我给它们排个顺序:JUnit、TestNG/Cucumber、Spock,但似乎变化不大?

SmartBear最近收购了Cucumber,可能会促进它的发展,但即使是这样,我仍然倾向于把它们移掉。

人们似乎对JVM上的Node不感兴趣?我想可以把它移掉。

我很想把Kotlin移到早期大众阶段,它是我近来最经常听到的一门JVM编程语言,这要得益于Android开发的流行。可以说,它已经越过了鸿沟,但仍然落后于其他编程语言,比如Groovy、Swift或Go语言。

我觉得Scala可以留在晚期大众阶段,人们会逐步弃用它。

关于Java,我也不确定该怎么说。我所知道的是,非LTS版本的采用量非常有限,它们或许可以被放在创新者阶段,但很奇怪的是,它们当中有些已经进入EOL阶段。不管怎样,我认为Java8仍然处在晚期大众阶段,Java11在早期采用者阶段,Java11在创新者阶段?

BenEvans,NewRelic首席工程师,JVM技术架构师:

我非常赞同有关Java非LTS版本的说法。来自生产环境的数据表明,Java11部署量很稳定,并有了5%左右的增长,我觉得它应该处在早期采用者阶段。

Ceylon绝对可以移掉,它从来就没有得到过足够的关注,它的份额被Kotlin吃掉了。

Java8应该留在早期大众阶段,现在仍然有很多服务是用Java8开发的,还有很多主流产品(例如Cassandra)不支持Java8以后的版本。我还没看到有哪个主流产品放弃对Java8的支持(但我相信ElasticSearch会是第一个)。

免责声明:内容来源于公开网络,若涉及侵权联系尽快删除!


【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!

Java开发高端课程免费试学

大咖讲师+项目实战全面提升你的职场竞争力

  • 海量实战教程
  • 1V1答疑解惑
  • 行业动态分析
  • 大神学习路径图

相关推荐

更多
  • 为什么学习Java编程?学编程选择Java的原因?
    为什么学习Java编程?学编程选择Java的原因?
    为什么学习Java编程?现在市面上的编程语言非常多,为什么很多小伙伴选择学习Java编程语言呢!接下来和大家分析一下为什么学习编程就选Java。 详情>>

    2022-03-11

  • 2021年热门的大数据技术有哪些?
    2021年热门的大数据技术有哪些?
    2021年热门的大数据技术有哪些?大数据是现在非常热门的一种技术,学好了大数据,也就意味着进入了有前景的IT行业。但大数据的内容太多了,大数据领域的技术涵盖了Linux操作系统、Hadoop、Hive、HBase、Zookeeper、Kafka、Scala、Spark、Flink等等。这么多的技术,我们从哪开始学起呢?哪些技术是最有需求和最有增长潜力的? 详情>>

    2021-03-24

  • 达内的讲师怎么样?
    达内的讲师怎么样?
    近日,国内领先的职业教育品牌达内教育,参与了一场带动2亿+话题热度的线上活动。活动由达内、蘑菇街、欧莱雅等10多家企业共同发起,以“不穿白衬衫”为主题,鼓励毕业生在面试时,勇于表达出自己的个性和态度,不穿白衬衫。 详情>>

    2020-10-19

  • Java编程地位不可撼动的12大理由
    Java编程地位不可撼动的12大理由
    如今,面对曾经在程序员中被各种新技术掩盖直至堙灭的技术值得怀念。犹如COBOL这当年被老程序员们尊为神器的语言如今也基本没有价值。而Java作为现代程序员的中坚力量在这点上或许会成为下一个COBOL。 详情>>

    2020-07-22

  • Java开班时间

    收起