2020年开发者生态系统报告:JS、Java、C持续领跑,Go、Kotlin、Python崭露头角

发表时间: 2020-06-19 22:10

编译 | 屠敏

头图 | CSDN 下载自东方 IC

出品 | CSDN(ID:CSDNnews)

一切过往,皆为序章。

2019 年,走出舒适区的技术圈迎来消费互联网向产业互联网的转型,也开始了数字智能化的进一步升级,而在此之下,作为这个时代浪潮中最为敏感的开发者,又需要完成哪些自我演进?

近日,知名软件开发公司 JetBrains 从工具、技术、编程语言等维度出发,在调研了全球 18 个国家/地区的 19,696 名开发者后,带来了全新的《2020 开发者生态系统现状》报告,旨在帮助更多的同行者快速了解最新的行业趋势。

百家争鸣的编程语言,开发者该从何处考量入手?

通过该报告,我们发现,数百种编程语言中,虽然各有千秋,但是在一定的时期内,主流的编程语言仅占少数。

随着每年新兴的领域、技术不断迭代,编程语言的使用率由此也发生了一定的变化。

下图中橙色所代表的是过去 12 个月间常用的编程语言占比,深灰色所表示的是计划采用/迁移:

在过去一年间,JavaScript 的使用率最高,70% 的开发者选择使用该语言。不过,值得注意的是,在主流的编程语言行列,JavaScript 虽然最为常用,但是想要做迁移的开发者占比最高,其中 16% 的开发者计划迁移并转而采用 Go 语言。

反观在 Go 开发群体中,没有采用/迁移其他编程语言的用户高达 59%,稳定性最强。

Web(后端)——最受欢迎的平台

要问哪种类型的开发最受欢迎?从官方统计的数据来看,后端、前端开发处于第一梯队,最为热门;桌面、移动、服务器/基础架构在第二梯队。

网站——开发者最常使用的应用程序类型

54% 的开发者表示,当前主要从事网站类型的开发,其次,实用工具、数据库/数据存储、系统软件等类型也较为火热。相对而言,仍在发展中的区块链、AR/VR 开发占比较少。

不同类型的开发所使用的语言也有所不同,比如网站开发中,JavaScript、PHP、TypeScript 最为实用。数据库/数据存储方面,SQL 有着独特的优势。

接下来,我们将从新老编程语言的碰撞中,一探其工具层的应用与发展。

老牌军——JavaScript、Java、C

JavaScript——最常用的编程语言

如果有开发者关注 2018、2019 的生态报告,那么不难发现,JavaScript 已经连续多年荣获「最常用编程语言」的称号,究其原因,不仅因为它的语言、语法、数据结构、浏览器 API 保持着高效的更新,JavaScript 也囊括了许多编程语言库,帮助开发者更好地上手。

除此之外,JetBrains 官方还对 Typescript 给予了肯定,表示 2017 年,Typescript 由 12% 的开发者使用,并作为 1% 开发者的主要语言,2020 年,这两个数字分别为 28% 和 12%,如今正处于稳步增长中。

常用的 JavaScript 框架

在 JavaScript 框架中,React 以 64% 的使用率成为最受欢迎的框架。相较去年,它的份额上升了 10%。与此同时,知名的开源框架 Vue.js 份额下降了 7%,不过仍然位居第三位,虽落后于 Express 框架,但差距并不是很大。

Visual Studio Code 作为轻量级代码编辑器,包含了丰富的插件,是 JavaScript 开发者最喜欢的工具。与之形成鲜明对比的是,素有“宇宙第一 IDE”之称的 Visual Studio 在 JavaScript 中使用率仅有 3%。

84% 的 JavaScript 开发者在工作中使用模块加载程序。76% 的受访者表示使用 Webpack。

此外,CSS 样式表语言是 JavaScript 开发者最青睐的选择,而在 TypeScript 开发者中,最受欢迎的则是 SCSS 方式,所占份额为 59%。

Java——最流行的重要编程语言

以每半年更新一次的 Java,早已让其后面追逐的开发者“累不觉爱”。不过,从官方数据统计显示,Java 8 历经多年,仍然是最受欢迎的,75% 的 Java 开发者在使用这一版本。不过,随着时间的推移,Java 8 每年的使用率正在递减。

而后来者们正在逐步居上,在这之中,份额有所上涨的还有另一个长期版本 Java 11,与去年相比,Java 11 的使用份额增长了 10%。不过,后更新的 Java 12、Java 13 也在凭借最新的特性等优势争夺用户。

在应用程序服务器方面,Apache Tomcat 占据主导地位,不过它的份额相较去年少有所下降。不过,也有 26% 的 Java 开发者在开发过程中没有使用应用程序服务器。

与此同时,63% 的开发者表示使用 Spring Boot 框架可以直接取代应用服务器。而它也是 Java 最喜爱的 Web 框架。

据 JetBrains 官方数据统计,75% 的 Java 开发者在其项目中使用单元测试。JUnit (83%) 和 Mockito (43%) 仍是最受欢迎的解决方案。

作为 JetBrains 打造的产品, IntelliJ IDEA 被视为当前 Java 开发效率最快的 IDE 工具,这也是为什么它能成俘获七成开发者关注的主要原因。

对于 Java 开发者而言,36% 的受访者表示正在使用 Java 开发网站,其次也会用它来开发实用工具、系统软件、数据库/数据存储等产品。

C 语言或将再次迎来机遇

在此,将老牌军 C 语言单独列出来,不仅是因为在另一大编程语言排行榜 TIOBE 中,C 时隔 5 年,再度超越 Java,重回大众视野,而且在新基建数字智能化经济到来之际,无论是小型的智能设备,还是大型硬件的嵌入式开发,C 将再次被广泛应用,因此 C 当前的现状也尤为值得关注。

在本次调查中,C 语言的标准仍以 2000 年 ANSI 采纳的 ISO/IEC 9899:1999 标准,即 C99 为主,占比 52%。不过,对此,JetBrains 官方表示 C11 标准的采用率虽然下降,但预计 C11 未来三年将上升到第一位。当前它仍位于嵌入式开发(家庭自动化和其他硬件)榜单的顶部,占据 47% 的份额。

编辑器层面,在 Vi/Vim 领先多年后,VS Code 上升到第一位。不过,在嵌入式开发领域,Vi/Vim 仍高居第二位。CLion 的份额也在快速增长。

46% 的受访者表示,在使用 C 语言开发时不编写单元测试。

Go、Kotlin、Python 为何会成为开发者最想要采用的三大语言?

与此同时,值得关注的是,过去一年中,Python 热度超越了 Java,成为开发者上手的热门语言之一。除了有 55% 的开发者正在使用 Python 之外,有 9% 的受访者表示计划采用/迁移到 Python。当然除了 Python,13% 的受访者表示计划采用或将迁移到 Google 开发的 Go 语言,也有 10% 的开发者想要使用 Kotlin。

势头迅猛的 Python

在人工智能、大数据等技术迅猛发展的今天,Python 的崛起速度其实远超乎很多开发者的想象。很多人认为学习 Python 主要可以解决数据性问题,其实不然。据调查报告显示,近五成的 Python 开发者将 Python 用于 Web 开发,其次才是数据分析,再者是机器学习领域。

在版本方面,今年 4 月,其官方发布了 Python 2 最后一个版本,这也意味着 Python 2 时代彻底结束。据 2017 年数据显示,44% 的受访者在使用 Python 2,如今随着 Python 2 不再维护,很多人选择升级或迁移,如今留守 Python 2 版本的用户仅剩下了 7%。

不过,据报告调查显示,Python 2 最常见的用例是系统管理员和基础结构配置 (DevOps),两者的总份额达到 40%,Web 开发的份额为 35%。

在数据科学领域,很多开发者除了使用 Python 之外,也会用如 NumPy、Pandas 等主流的数据科学框架用以辅助。

另外,据官方调查显示,与总体开发者相比,Python 开发者更可能参与学术研究 (24%),这一数字在总体开发者中的比例为 14%。

与其他编程语言的应用有所不同,在所有开发者中,Python 开发者更倾向于将 Linux 作为其开发环境。在 JetBrains 调查中发现,有 64% 的 Python 开发者更喜欢使用 Linux,相比之下,更喜欢 Linux 的总体开发者比例约为 50%。这使 Linux 在 Python 开发者中成为最受欢迎的操作系统,但 Windows 整体上仍是领先的操作系统。

采用操作系统的开发者整体比例

另外,Python 开发者最常用的编辑器是 PyCharm Professional 版本。

Go 最受欢迎的编程语言

据调查报告显示,大多数 Go 开发者将 Go 语言用于工作 (63%)。在工作中使用 Go 的开发者比例每年都在上升。其次,也有 28% 的开发者处于个人/编外项目原因正在使用 Go。

71% 的 Go 开发者开发微服务,这使 Go 成为此领域第二受欢迎的语言,仅次于 Scala。

另外,Go 的三个最常见用例是网站、实用程序和 IT 基础架构。

对此,JetBrains 官方解析道,DevOps 和基础结构开发是 Go 最受欢迎的用例。因此,80% 的 Go 开发者参与这些活动和 36% 的人将其视为主要职责也就不足为奇了,相比之下,只有 57% 的总体开发者将自己与基础结构开发相关联。Go 开发者是重度 Docker 用户。84% 的人表示使用此工具,比总体开发者中的 Docker 用户百分比高 20 个百分点。

用 Java 的开发者同样喜欢 Kotlin

如今距离 Google 宣布将 Kotlin 作为 Android 开发的首选语言已经过去了 3 年的时间,时下,大多数 Kotlin 开发者仍以 Android 或 JVM 为目标。Kotlin 提供了以 JavaScript 为目标和执行原生开发的功能,但以这些平台为目标的开发者人数相对较少。

不过,Kotlin 可以用于移动、Web、服务器端、桌面,甚至嵌入式系统开发。得益于其代码共享机制,开发者可以轻松创建多平台库和在多个平台上运行的应用程序。

和 Java 的版本选择有些类似,Kotlin 开发者中有 73% 的人选择了 JDK 8。JDK 11 的使用率虽然排名第二,不过在过去一年间,它的份额几乎翻了一番。

据调查报告显示,几乎所有的 Kotlin 开发者 (92%) 在使用 Kotlin 前使用过 Java。其中大多数(90% 的 Kotlin 用户)仍在继续使用 Java。这也意味着,Kotlin 最初被外界猜测想要取代 Java 的愿景并不太容易实现,而相比 Java,Kotlin 也有自己独特的优势。

开源之路,任重而道远

整体而言,在日益更新的技术环境之下,编程语言作为一种开发工具,每种都有各自擅长的领域,开发者如何选择,与自身工作的属性有很大的相关性。

除了以上,开源作为一种协作、共享的方式,已成为很多企业和开发者的选择。但是据调查显示,占比最高且有 44% 的开发者并没有参加过开源,但是愿意尝试。20% 的受访者称,仅贡献过几次。这意味着开源的普及与推进并非一朝可以实现,它也需要更多的开发者参与其中。

最后想要进一步查阅 JetBrains 发布的《2020 开发者生态系统现状》报告完整内容,可点击以下链接直达:

  • https://www.jetbrains.com/lp/devecosystem-2020/