转自:Valeriia Karpenko

编译:  机器之心

链接:https://blog.jetbrains.com/idea/2020/09/a-picture-of-java-in-2020/

Java 自推出以来,一直深受专业开发者的喜爱,成为一种不可或缺的编程语言。在即将结束的 2020 年里,Java 语言处于一种怎样的发展状态呢?近日,JetBrains 撰文从 Java 开发者地域分布、行业分布以及 Java 工具分析等几个视角全方位地分析了 Java 语言的开发现状。

Java 语言于 1995 年由 Sun Microsystems 公司开发,距今已有 25 年的时间了。Java 是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程等特性,广泛应用于企业级 Web 应用开发和移动应用开发。在众多编程语言中,Java 语言始终保持了强劲的发展势头。

今年 7 月份,IEEE 发布了 2020 年度编程语言排行榜,Java 位列整体榜单第二。此外,在开源项目最受欢迎和工作环境中需求最大的编程语言分榜单中,Java 也分列二、三名。

目前,Java 已经于 9 月 15 日更新了 15 版本。用户或许想要深入了解 Java 当前的开发状况,所以捷克软件开发公司、Java 编程语言开发撰写时所用集成开发环境 IntelliJ IDEA 的创建者 JetBrains 撰文详细介绍了 Java 的发展现状,包括 Java 使用地域分布、Java 行业分布、Java 工具分析等。

需要指出的是,本文中 Java 语言各项指标的调研结果基于 JetBrains 更早之前发布的《The State of Developer Ecosystem Survey 2018/2020》,想要了解详情的读者可以查阅原始链接。

  • 2018 年开发者生态系统调查报告地址:https://www.jetbrains.com/research/devecosystem-2018/java/

  • 2020 年开发者生态系统调查报告地址:https://www.jetbrains.com/lp/devecosystem-2020/

接下来详细解读 2020 年 Java 语言的发展现状。

Java 开发者地域分布:集中在亚洲,中韩比例最高

很多人会问:「Java 开发者最多的地区在哪里,又有多少人呢?」。JetBrains 数据分析显示, 当前全世界大约有 520 万名专业开发者使用 Java 作为主要语言。但如果把主要使用其他编程语言但同时也会使用 Java 的专业开发者计算在内,这个数字可能会接近 680 万。

Java 开发者最集中的区域是亚洲,大约有 250 万开发者使用 Java 作为他们的主要语言。北美和欧洲的数字远不及亚洲。你可能会问:「这是为什么呢?」。所以,为了更进一步弄清楚这些数据产生的原因,JetBrains 研究了 Java 开发者最多的各个国家,然后调查了为什么这些国家在专业编程开发中特别喜欢 Java 而不是其他语言。

下图显示了每个国家使用 Java 作为主要语言的开发者百分比(用于收集此数据的受访者最多可以选择 3 种主要语言)。其中,中国和韩国使用 Java 的比例最高,分别为 51% 和 50%。数据主要来自 2020 年的调查报告。

Java 在专业开发者中的使用情况

2020 年的数据显示,超过三分之一的专业开发者使用 Java 作为他们的主要语言,并且 Java 在专业开发者心目中仍然是仅次于 JavaScript 的第二种主要语言。

使用 Java 语言开发的软件类型

下图展示了使用 Java 语言开发的软件类型,包括 web 服务、实用工具(Utility )、数据库等,其中在 web 服务中最流行使用 Java 语言,占比 52%。数据主要来自 2020 年调查报告。

使用 Java 语言最多的行业

现在清楚了为何这么多专业开发者使用 Java,Java 语言又在哪些行业中广泛使用呢?

2020 年的数据显示,Java 程序员主要分布在 IT 行业(42%)、金融以及金融科技(44%),但这并不意味着 Java 在其他行业没有使用。

Java 工具

Java 版本受欢迎程度

2020 年的数据显示,Java 8 仍然是最流行的版本。75% 的专业开发人员使用 Java 8 作为其主要编程语言。下图显示了 2020 年 Java 各个版本的受欢迎程度。可以清楚地看到,Java 8 的受欢迎程度远远领先于其他版本。

Java 流行的应用服务器

根据 2018 和 2020 年的数据显示,在过去的 3 年里,Apache Tomcat 一直是最受欢迎的应用服务器,而 JBoss EAP 和 WildFly 的使用量则减少了一半。

Top 5 web 框架

2018 年的数据显示,Spring Boot 和 Spring MVC 一样流行,而 2020 年的数据显示 Spring Boot 更加流行。数据来自所有使用 Java 作为主要语言的开发者。由下图可知,2020 年 Top 5 的 web 框架依次为 Spring Boot、Spring MVC、JSF、Struts 2 和 Strut 1。

Top-5 JVM Profiler

2020 年的数据显示, 24% 的用户使用 VisualVM ,其他用户使用 JProfiler、Java Mission Control、NetBeans profiler 和 YourKit。数据来自所有使用 Java 作为主要语言的开发者。

Top-5 IDE / 编辑器

根据 2018 年和 2020 年的数据显示,IntelliJ IDEA 的使用量从 2018 年的 55% 增加到 2020 年的 72%,而 Eclipse or Eclipse-based、Android Studio、VS Code 以及 NetBeans 使用量相应减少了。

与 Java 相关的其他主题

讨论最多的 Java 工具和其他语言

在 Stack Overflow 等 IT 社区中常常谈到 Java。JetBrains 从 stack overflow 社区的问答版本中提取数据,从而找出出现最多的「Java」标签。结果如下图所示,纵轴表示提及 Java 的标签,横轴表示标签出现的总数。

Java 社区的热门话题

以下是 Java 用户在 Reddit 上讨论最多的主题,排名第一的问题是:现在学习 Java 语言是一个好的选择吗?(Is Java a good language to learn today?)

有道无术,术可成;有术无道,止于术

欢迎大家关注Java之道公众号

好文章,我在看❤️

JetBrains 2020 Java调查报告:中国开发者使用比例最高,Java 8最受欢迎相关推荐

  1. JetBrains 发布 2019 年 Java 调查报告

    整理:安卓开发精选 最近知名 IDE 厂商 JetBrains 发布了 2019 年开发者调查报告.本文汇总和 Jave 相关的调查数据和结果. JetBrains 从阿根廷.巴西.加拿大.中国.法国 ...

  2. 中国开发者真实画像:Java长盛,偏爱Windows操作系统,鲜少参与开源项目

    整理 | 夕颜 责编 | 唐小引 出品 | CSDN(ID:CSDNnews) 要问全世界最牛的程序员来自哪里,不少人肯定想都不想就会脱口而出是美国.然而,事实上真是这样吗? 答案并非绝对,但中国程序 ...

  3. java optional用法_2019年 Java 调查报告:“被取代”是不存在的!

    作者 | Nikos Vaggalis 译者 | 冬雨 策划 | 田晓旭 尽管 Java 被称为编程语言的"老马",但它仍在不断发展. 在 Tiobe 排行榜中,它仍然是的第一名, ...

  4. java实验报告系统分析怎么写_20155218 《Java程序设计》实验二(Java面向对象程序设计)实验报告...

    20155218 <Java程序设计>实验二(Java面向对象程序设计)实验报告 一.实验内容及步骤 (一)单元测试 主要学习安装和使用junit来测试编写的程序,并学习以TDD(Test ...

  5. 西电java实验报告 界面_西电计算机Java上机实验报告.docx

    西电计算机Java上机实验报告.docx 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. ...

  6. 计算器java程序设计报告总体设计_计算器设计的java课程设计报告.doc

    计算器设计的java课程设计报告.doc 华东交通大学课程设计1华东交通大学课程设计课程:Java程序设计题目:计算器设计年级:2010级专业:信息一班学号:姓名:组员:指导教师:课程设计题目:计算器 ...

  7. java实验报告实验六,第六周java实验报告四

    实验四 实验目的 (1)掌握类的继承 (2)变量的继承和覆盖,方法的继承,重载和覆盖的实现: 1)根据下面的要求实现圆类Circle. 1.圆类Circle的成员变量:radius表示圆的半径. 2. ...

  8. java实验报告13答案_(完整版)Java程序设计实验报告

    if(max.compareTo(str[i])<0){ max = str[i]; } if(min.compareTo(str[i])>0){ min = str[i]; } } Sy ...

  9. java程序报告门禁系统_基于JAVA的门禁管理系统(含源文件).doc

    基于JAVA的门禁管理系统 学 生 姓 名: 学 院: 专 业: 班 级: 学 号: 指 导 教 师: 完 成 日 期: 摘 要 随着社会经济和科技的发展,IC卡技术已广泛地应用于各种行业,特别是公共 ...

最新文章

  1. ExtJS4.2学习(14)基于表格的扩展插件(2)
  2. 1080 Graduate Admission (30 分)【难度: 一般 / 知识点: 模拟 排序】
  3. 软件系统架构~视点和视图
  4. host文件注释 ubuntu_Redis and MongoDB 设置密码验证(scrapy)(win)(ubuntu)
  5. 好的原程序做出好的软件
  6. oracle 二进制日志格式,二进制日志
  7. 用winform实现一个B/S代码更新打包工具
  8. sql 查询Africa城市的人口和城市名字
  9. 2021,前方路艰,与君共勉
  10. 归并排序 Java实现 简单易懂
  11. 在Wireshark的tcptrace图中看清TCP拥塞控制算法的细节(CUBIC/BBR算法为例)
  12. MT4跟单软件的API跟单模式有多少种?
  13. wps xml转换表格_PDF转换神器安装步骤
  14. 无序列表前小黑点图片替换方法
  15. 公司办公提高无线网络质量解决方案
  16. 鲁卡斯队列求黄金分割数
  17. ArcMap插值水深数据
  18. 数据分析总结四:可视化与数据分析
  19. 【龙印】FDM 3d打印机常见打印质量问题和解决办法
  20. aix查看lv_AIX详细的VG,LV扩容步骤

热门文章

  1. 32岁妈妈适合转行做软件测试吗,32+大龄妈妈,AMH偏低,可丽蓝助力好孕一次就中...
  2. mysql技术内幕sampdb_MySql技术内幕之MySQL入门(1)
  3. linux版微信 能发表情包的,仿微信在对话框文字中插入Emoji表情包
  4. kafka创建topic_Kafka实战宝典:一文带解决Kafka常见故障处理
  5. 已跳过全部重新生成_2020年最新跳对公技术1+5,1+10,5+50(必读)
  6. basic认证 接口 php,PHP 模拟 HTTP 基本认证(Basic Authentication) - 黄棣-dee - 博客园...
  7. python如何画虚线_Python威力巨大,五分钟如何绘制出漂亮的系统架构图?
  8. php mysql 截取字符串长度,mysql字符串截取
  9. 文本标点符号在前面怎么改_这三个标点符号,为什么写错的人越来越多?
  10. (王道408考研操作系统)第三章内存管理-第一节7:非连续分配管理方式之基本分段管理方式