2023年JetBrains开发调查:Java 8仍广泛使用


开发者生态系统调查是查找和分析实际情况的好方法,而实际情况通常与看似流行或趋势的情况相反。

排名前三:

  • Java8采用率:50%
  • Java17采用率:45%
  • Java11采用率:38%

看到这么多人仍在使用 Java 8(及更早版本)。JetBrains想知道是什么阻止他们升级到较新的版本并无法访问出色的新语言功能,以及JetBrains如何帮助他们将代码迁移到较新的 Java 版本。

网友观点:

1、令人惊讶的是,Java 17 紧随其后。也许,从Java 11(甚至 9)迁移到Java 17 比从Java 8迁移痛苦要少得多。

2、有趣的是,与 Java 11 相比,更多的开发人员在生产中使用 Java 17。

3、在版本 9 之后,Java 将版本分为两种类型:STS 和 LTS。

  • STS 代表短期支持。这些版本的支持期仅为 6 个月。它们主要用于发布新的实验性或“预览”功能,以便开发人员有机会在实际场景中使用它们并提供反馈。Java 10、12、13、14、15、16、18、19 和 20 是 STS 版本,Java 22、23 和可能的 24 也将是 STS 版本。
  • LTS 代表长期支持。它们受到多年的支持,被认为是“稳定”版本。在 Java 8 和 Java 9 成为最后一个“正常”版本之后,迄今为止唯一的 LTS 版本是 Java 11、Java 17 和 Java 21。

4、Java 8 是最古老的广泛使用的版本,而 6/7 远没有那么广泛使用,这一事实让我不相信这项调查。
对 jetbrains 调查做出反应的人可能会导致调查结果偏向于更新的技术。

5、CentOS 7 仍然被广泛使用。Python 2 仍然被广泛使用。

6、在过去的两年里,我目睹了 3 个主要项目从 Java 8 升级到 11 和 17。其中两个是在 Log4J 崩溃后直接升级的。通常的问题是,开发人员多年来一直在推动这些升级,但管理层却从来没有时间这样做。

7、我敢打赌,未来 3 年变化很快,很多项目都在使用 Spring Boot,如图所示。Spring Boot 3 放弃了对 Java 8 的支持,到明年年底旧版本将不再受支持。我希望 Spring 能帮助我们所有人走向未来,这样我们就可以摆脱 Java 8 的束缚。

8、Java 8 是一个巨大的飞跃,具有许多新功能,并且对于许多开发人员来说是一个可靠的“足够好”版本。8 是一个 LTS 版本,在某些方面仍然受到官方支持(至少是最近,不知道具体时间表)。这是此类版本中最古老的。

9、 Android 与Java 8有关。

10、Java 8 也是 Oracle 进行许可证转换的时候,因此冻结了很多不想向 Oracle 支付 Java 许可证费用的人。“许可证转换”是 Oracle 在 JDK 11 中完全开源 JDK。JDK 11 及更高版本的许可证比 JDK 8(以及所有以前的版本)更加开放和宽松。JDK 8 仍然有需要付费的功能或使用领域;从 JDK 11 开始,这一切都消失了。

11、自 Java 8 以来,一半的 Java 开发人员已经放弃了 Java,转而使用不同的编程语言。

12、今天在 ReInvent 上,AWS 展示了一款新的人工智能工具,可以学习您的代码库(不会将信息报告给 AWS 进行训练),一个小团队在 2 天内将 10,000 个 Java 8 迁移到 17,2 天内升级 10k 个应用程序。它很狂野。

13、问题不在于使用 java 8 的人。问题在于仍在使用 java 6 的人