调查 10,500 名 Java 开发者发现,收费的 OracleJDK 仍是主流、I...

[复制链接]

调查 10,500 名 Java 开发者发现,收费的 OracleJDK 仍是主流、I...

发表于 2020-1-4 16:24:59 只看大图 阅读模式 倒序浏览
1810 0 查看全部
昨日,作为“第一家”公开宣布 将裁员 15% 的滴滴 ,一时之间被大众推向了舆论的风口浪尖,但与此同时,因为其不变相且透明的裁员举措也为自己赢得了一片叫好声。然不可否认的是,从此事件乃至整个行业来看,不少科技公司早已于去年起就开始节衣缩食,究其根由还是源于资本寒冬潮来袭。不过对此,值得作为 开发者的我们 深思的是,资本的寒冬造成了科技行业不太平,而技术圈的浮躁又是因为什么?


15651755-109268b7edd00f13.jpg



近几年的技术圈,单以编程语言界来看,稳坐第一把交椅的 Java “或将被替代”、迎来转折点、Java 工程师风光不再等言论不绝于耳。在浮躁的大环境下,每个人似乎都显得很不安。
其实对于这种“唱衰论”,也不难理解。一方面, 基于 Java 技术本身而言,Oracle 因此前版本一而再再而三地“迟到”,最终下定决心会以 六个月为周期加快 Java 的发布频率,但是对于开发者而言,作为开发工具更新速度太快,不利于生产环境,也会为开发带来诸多的兼容性问题,无形之中平白被增加了工作量,没有开发者会开心。同时,新版本 OracleJDK 的无法免费商用问题也让 Java 失去了原有的一些支持用户。对此,不少开发者甚至用“作死”一词来形容 Oracle 的独裁。除了内部因素, 从外部来看,2018 年随着人工智能技术大火的 Python、2017 年Google 宣布 将作为 Android 开发一级语言的Kotlin 、2016 年因前端开发而成为最受欢迎语言的 JavaScript 等等均向传统编程语言 Java 发起了挑战。但与其说语言遭到了挑战,归根结底还是不同语言所应用的领域吸引的人才相互冲击。
所谓的唱衰论,引用一位网友的观点来道破本质, 「世界只有两种编程语言,一种是天天挨骂的,一种是没人用的。」 那么,在该言论背后真实的 Java 使用现状到底如何?仿徨于 Java 围城之外的开发者们该如何更好地掌握 Java 相关的技术?接下来,我们将从 Java 开发者最广泛的调查报告中一窥究竟,希望对大家有所裨益。参与该调查报告的有来自全球 10500 名的 Java 开发者。

Java 开发者最常使用的 JDK?
截止目前,Java 中 JDK 最大的赢家毫无疑问指的是 Oracle JDK 和 OpenJDK。不过随着 JDK 8 和 JDK 11 中许可和支持的变化,下一次的 Java 调查数据可能会发生很大变化。
打开UC浏览器 查看更多精彩图片

15651755-e0238e04f95c5364.jpg



开发者使用的 JDK 占比
不过根据该报告的调查结果,其中,令人费解的是,很难搞清楚 1% 的 Java 开发者是如何在“无 JDK”的情况下完成 Java 编程的。

Java 开发者主要使用的 Java EE 版本是 什么?
根据调查显示,有 38% 的 Java 开发者根本不使用 Java EE。估计不少都使用了 Spring Framework。不过可能还有一些 Swing 和 JavaFX 开发人员。
打开UC浏览器 查看更多精彩图片

15651755-c4a526ac83cfe315.png




Java 程序员主要使用哪些 JVM 语言?
虽然如文章伊始提及的,2017 年,Google 将 Kotlin 作为 Android 官方开发语言,“Java 将被替代”言论也随之而来。但是根据调查报告结果显示, 在这一问题中,Java 仍然占主导地位。而 Kotlin 只有 2.42% 的受访者表示当前将其作为项目开发的主要语言。此外,它虽然超过了 Scala 的使用率,但依然落后于 Clojure。
打开UC浏览器 查看更多精彩图片

15651755-b3bff4ebc2f5c381.jpg




哪些 IDE Java 开发者常用?
对于这一问题,一位昵称为 program9 的 程序员表示:“IntelliJ IDEA 是我使用过最好的 IDE。之前我用过 Eclipse 和 NetBeans,但是自从我尝试了 IntelliJ,我再也没有回过头来。当然这不意味着,我不喜欢 vi / vim 编辑器。事实上,我喜欢用它们来快速编辑文件或编写 bash 脚本。我认为任何开发者都应该具备使用 vim 和 bash 脚本的一些基本知识。”
根据报告显示,有 45% 的开发者以 IntelliJ IDEA 为开发 Java 项目的 IDE。其次分别有 38% 的开发者使用免费的 Eclipse 和 11% 的受访者使用 NetBeans。
打开UC浏览器 查看更多精彩图片

15651755-db16b99f86576bdc.jpg




Java 开发者主要使用哪种构建工具?
一些开发者在他们的项目中使用不同的构建工具,因此值得注意的是,调查中的问题是要求开发者选择使用的主要构建工具。而绝大多数项目都是使用 maven 构建的。
打开UC浏览器 查看更多精彩图片

15651755-4b4f687790b42e90.png




Java 开发者使用哪种 CI 工具?
正如大多数开发人员所期望的那样,Jenkins 以高达 57% 的市场份额赢得 CI 服务器工具。其次,也有 21% 的开发者并未使用任何其他的 CI 工具。
打开UC浏览器 查看更多精彩图片

15651755-964489d9fa572e94.jpg




哪些源代码管理工具是开发团队主要使用的?
对于有 74% 的受访者选择 Git,合乎情理也属于意料之中。但令人诧异的是,竟有 16% 的开发者仍在使用 Subversion(a.k.a SVN)。
打开UC浏览器 查看更多精彩图片

15651755-261eb84156eef053.png




Java 开发者主要使用哪些测试技术?
著名软件工程大师 Robert C. Martin 在他关于软件开发专业化的讨论中曾表示道:“我们(程序员)对公司系统相当于外科医生对人的心脏手术。我们是公司赚钱或亏钱的原因......我们是掌握公司生命线的人“。
然而,10% 的开发者回答说他们没有使用任何测试技术。嗯,在此祝安好!
老实说,希望那些在日常开发中没有测试代码习惯的 10% 的参与者只是自学的开发者或者并未参加工作的学生。
打开UC浏览器 查看更多精彩图片

15651755-4d236cfa586cd1bf.jpg




Java 程序员在应用程序中会使用哪些非 JVM 语言?
现在有很多的 Java 应用程序前端都是用 JavaScript 编写。根据调查报告结果显示,57% 的受访者表示使用 JavaScript 语言,但并不清楚他们最终使用的是纯 JavaScript 还是其他任何类似 TypeScript 的语法超集。其次,有 56% 的程序员选择 SQL,也有 8% 的受访者表示未在项目中使用任何其他非 JVM 语言。
打开UC浏览器 查看更多精彩图片

15651755-99752aa46b4d0388.png




哪些 Web 框架是 Java 开发者的最爱?
有 40% 的受访者选择了 Spring Boot 框架,有 36% 的开发者选择了 Spring MVC,两者使用率相差不大。
打开UC浏览器 查看更多精彩图片

15651755-65a445d092a2f83f.jpg




开发者使用哪些 ORM 框架?
注:该选项为多选,因此总数不等于 100%。
根据报告显示,有超过一半的开发人员使用了 Hibernate。其次有 23% 的受访者选择了 JDBC。但严格意义上来讲,JDBC 并不是 ORM 框架,所以说选择 None 这一选项的开发者也有可能使用 JDBC。
打开UC浏览器 查看更多精彩图片

15651755-8dd6492fa49f73f8.png




Java 开发者使用哪个数据库?
Oracle 占比 27%,位居榜首,然后是 MySQL 和 PostgreSQL。只有 9% 的 Java 开发者使用了 Microsoft SQL,这并不奇怪,因为它是 C# 的利基。
MongoDB 是 NoSQL 数据库产品中最热门的一种,使用的人数是 IBMDb2 数据库的 5 倍。
打开UC浏览器 查看更多精彩图片

15651755-7d78952e65a8b2a8.jpg




哪些应用服务器开发者最常使用?
毫无疑问,Tomcat 以 41% 的占比稳居第一。
打开UC浏览器 查看更多精彩图片

15651755-b2de546ca12cea0b.png




Java 开发者多久发布一次新版本的代码?
令人惊叹的是,7% 的开发者表示每天多次发布项目更新代码。
打开UC浏览器 查看更多精彩图片

15651755-c832f1933beb3b13.jpg




Java 开发者的地理位置分布?
根据调查显示,大多数的开发者位于欧洲。
打开UC浏览器 查看更多精彩图片

15651755-1b949ca06a100422.jpg




使用 Java 的开发者年龄分布?
最为已有二十几年历史的 Java,其使用者大多是伴随其发展成长起来的人,根据报告显示,有 38% 的软件开发人员年龄为 30-40 岁。
打开UC浏览器 查看更多精彩图片

15651755-0c3819e5ab17285f.png




程序员如何获得及学习有关 Java 技术?
对于这个问题,这里的最大赢家应该是 Google,很多程序员都会通过 Google 去搜索相关信息。而碰巧大多数答案都可以在 Stack Overflow 中找到。
打开UC浏览器 查看更多精彩图片

15651755-f2cea3c6871243dc.jpg




Java 开发者为开源贡献了多少?
无论是国内还是国外的一些开发者在空闲时间都会自己创建小项目,但是整体而言,想要找到更多的时间去维护开源项目其实并不容易,根据上文的数据结果显示,38% 的 Java 开发者年龄处于 30-40 岁之间,此时,日常工作以及家庭占据了他们大多数时间,很难再抽出空闲时间。这也是为什么有 55% 的人从未开源过项目。

15651755-e2c95d335c61a7d0.jpg





作者:游戏原画设计
链接:https://www.jianshu.com/p/7eb4308efa78
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

回复

使用道具 举报

游客~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|极客同行 ( 蜀ICP备17009389号-1 )

© 2013-2016 Comsenz Inc. Powered by Discuz! X3.4