2018规模最大 Java 开发者调查报告:Oracle JDK 仍是主流、IDEA 最受欢迎

 小程序开发    |       2024-01-02

  每年、每个月都会有各种排行榜或者榜单诞生,例如 TIOBE 编程语言排行榜,以及前两天开源中国推送的纵观这些榜单,我们显而易见一个铁一般的定律:你大爷永远是你大爷 —— 无论 Java 怎么被唱衰,始终都位于各种排行榜的前列。

  好了,还是言归正传吧,说回本文的主角 Java。对于 Java 的唱衰论一直都不绝于耳,尤其是 Java 11 发布后,因为其改变了发布周期,以及 Java 8 收费策略的变更,再加上一些误导的声音传播,「Java 药丸」这种刻意带节奏的行为给很多开发者造成了误导。

  那么,在各种唱衰言论背后真实的 Java 使用现状到底如何?接下来,我们将从2018年规模最大的 Java 开发者调查报告中一窥究竟(参与该调查报告的有来自全球10500名的 Java 开发者),希望对大家有所裨益。

  截止目前,Java 中 JDK 最大的赢家毫无疑问是Oracle JDK 和 OpenJDK。不过随着 JDK 8 和 JDK 11 中许可证和技术上的支持策略的变更,下一次的 Java 调查数据可能会发生很大变化。

  该报告的调查的最终结果有一个令人费解的数据:1% 的 Java 开发者是如何在“无 JDK”的情况下完成 Java 编程的?

  虽然如文章伊始提及的,2017 年,Google 将 Kotlin 作为 Android 官方开发语言,“Java 将被替代”言论也随之而来。但是根据调查报告结果为,在这一问题中,Java 仍然占主导地位。而 Kotlin 只有 2.42% 的收房的人说当前将其作为项目开发的主要语言。此外,它虽然超过了 Scala 的使用率,但依然落后于 Clojure。

  对于这一问题,一位昵称为 program9 的程序员表示:“IntelliJ IDEA 是我使用过最好的 IDE。之前我用过 Eclipse 和 NetBeans,但是自从我尝试了 IntelliJ,我再也回不来了。当然这不意味着,我不喜欢 vi/vim 编辑器。事实上,我喜欢用它们来快速编辑文件或编写 bash 脚本。我认为任何开发者都应该具备使用 vim 和 bash 脚本的一些基本知识。”

  一些开发者在他们的项目中使用不相同的构建工具,因此有必要注意一下的是,调查中的问题是要求开发者选择使用的主要构建工具。最后的多个方面数据显示,绝大多数项目都是使用 maven 构建的。

  正如大多数研发人员所期望的那样,Jenkins 以高达 57% 的市场占有率赢得最受欢迎 CI 工具称号。其次,也有 21% 的开发者并不用任何 CI 工具。

  有 74% 的收房的人说选择 Git,合乎情理也属于意料之中。但出乎意料的是,竟有 16% 的开发者仍在使用 Subversion(即常说的 SVN)。

  著名软件工程大师 Robert C. Martin 在他关于软件开发专业化的讨论中曾表示道:“我们(程序员)对公司系统相当于外科医生对人的心脏手术。我们是公司赚钱或亏钱的关键......我们是掌握公司生命线的人“。

  老实说,希望那些在日常开发中没有测试代码习惯的 10% 的参与者只是自学的开发者或者并未参加工作的学生。

  现在有很多的 Java 应用程序前端都是用 Java 编写。调查报告结果为,57% 的收房的人说会使用 Java 语言,但并不清楚他们最终使用的是纯 Java 还是其他任何类似 Type 的语法超集。其次,有 56% 的程序员选择 SQL,也有 8% 的收房的人说未在项目中用任何其他非 JVM 语言。

  调查报告数据显示,有超过一半的研发人员使用了 Hibernate。其次有 23% 的受访的人选择了 JDBC。但严格意义上来讲,JDBC 并不是 ORM 框架,所以说选择 None 这一选项的开发者也有一定的可能使用 JDBC。

  MongoDB 是 NoSQL 数据库产品中最热门的一个,使用的人数高于 IBM Db2 数据库。

  已有二十几年历史的 Java,其使用者大多是伴随其发展成长起来的人,调查报告数据显示,有 38% 的软件开发者年龄为 30-40 岁。

  对于这样的一个问题,这里的最大赢家应该是 Google,很多程序员都会通过 Google 去搜索有关信息。而碰巧大多数答案都可以在 Stack Overflow 中找到。

  无论是国内还是国外的一些开发者在空闲时间都会自己创建小项目,但是整体而言,想要找到更多的时间去维护开源项目实际上并不容易。

  调查结果为,38% 的 Java 开发者年龄处于 30-40 岁之间,此时,日常工作以及家庭占据了他们大多数时间,很难再抽出空闲时间。这也是怎么回事有 55% 的人从未开源过项目。