2020 开发者生态系统现状

本报告是 JetBrains 开展的第四次年度开发者生态系统调查的汇总结果。2020 年初接受调查的 19,696 位开发者的反馈帮助我们确定了工具、技术、编程语言和开发领域许多其他激动人心的方面的最新趋势。

The State of Developer Ecosystem 2020

重要发现

Java

是最受欢迎的主要编程语言。

JavaScript

是最常用的整体编程语言。

网站

是开发者开发的最常见应用程序类型。

Web(后端)

是最受欢迎的平台。

Go、Kotlin、Python

是开发者计划采用或迁移到的前 3 大语言。

Python

在过去 12 个月中使用的语言榜单中超过 Java。它是研究最多的语言。在过去 12 个月中,30% 的受访者开始或继续学习 Python,高于去年的百分比。

编程语言

在过去 12 个月中使用
计划采用或迁移
JavaScript
70% / 4%
HTML/CSS
61% / 1%
SQL
56% / 3%
Python
55% / 9%
Java
54% / 4%
Shell 脚本语言
39% / 2%
TypeScript
28% / 8%
C++
27% / 4%
PHP
27% / 2%
C
23% / 2%
C#
22% / 4%
Go
19% / 13%
Kotlin
17% / 10%
Dart
9% / 5%
Swift
9% / 6%
Ruby
8% / 3%
Rust
7% / 8%
Matlab
5% / 1%
R
5% / 3%
Scala
5% / 3%
Visual Basic
5% / 1%
汇编
4% / 1%
Groovy
4% / 1%
Objective-C
4% / 1%
Lua
3% / 1%
Haskell
2% / 2%
Perl
2% / 1%
Clojure/ClojureScript
1% / 1%
CoffeeScript
1% / 0%
Delphi
1% / 0%
Elixir
1% / 1%
F#
1% / 1%
Julia
1% / 1%
其他
1% / 3%

您是否计划在未来 12 个月内采用或迁移到其他语言?如果有计划,是哪种(哪些)语言?

按主要语言

-
JavaScriptJavaPythonSQLPHPC++C#TypeScriptGoKotlin
41%43%42%46%43%44%51%51%59%54%否,我没有采用/迁移计划
16%15%17%15%14%12%10%15%0%12%Go
11%14%11%11%11%10%10%12%6%-Kotlin
11%11%-13%13%7%10%9%3%9%Python
9%7%10%6%6%12%8%12%17%8%Rust
13%7%8%8%11%6%8%-7%8%TypeScript
6%7%8%5%6%7%5%5%4%9%Swift
7%5%6%5%6%4%4%6%5%8%Dart
4%5%6%4%3%-5%2%2%2%C++
-5%6%4%2%6%4%0%1%3%JavaScript
4%0%5%4%6%6%4%2%4%0%Java
4%4%6%3%3%6%-2%2%2%C#
4%3%4%3%5%5%3%2%2%2%Ruby
3%3%5%3%2%5%2%2%2%1%R
3%3%4%-2%4%2%1%1%1%SQL
2%4%4%3%2%3%2%3%3%3%Scala
3%3%3%2%2%3%2%1%2%0%Shell 脚本语言
15%17%20%16%13%22%17%12%14%13%其他
00.59
JavaScript
Java
Python
SQL
PHP
C++
C#
TypeScript
Go
Kotlin
-
否,我没有采用/迁移计划GoKotlinPythonRustTypeScriptSwiftDartC++JavaScriptJavaC#RubyRSQLScalaShell 脚本语言其他
00.59

您的主要编程语言是什么?

最多 3 种语言

39%37%31%22%17%15%13%13%12% 7% 7% 7%JavaScriptJavaPythonHTML/CSSSQLPHPC++C#TypeScriptGoKotlinShell 脚本语言
所有结果

Typescript 稳步增长。2017 年,它由 12% 的开发者使用,并作为 1% 开发者的主要语言,2020 年,这两个数字分别为 28% 和 12%。

您的开发环境使用哪种(哪些)操作系统?

60%Windows
50%Linux
44%macOS
1%其他

您面向哪种(哪些)平台开发?

69%57%35%32%28% 9% 5% 2% 1% 1%Web(后端)Web(前端)桌面移动服务器/基础架构物联网/嵌入式我不开发任何东西WebAssembly游戏机(Xbox/PlayStation/Nintendo 等)其他

您开发什么类型的软件?

包括任何编程语言的应用,无论是职业还是个人用途

54%36%30%23%23%19%17%16%12%11%10% 7% 6% 5% 3% 3% 5%网站实用工具(用于小型任务的小应用)数据库/数据存储系统软件库/框架商业智能/数据科学/机器学习IT 基础架构编程工具娱乐金融科技游戏家居自动化安全硬件区块链增强现实/虚拟现实其他

您开发什么类型的软件?

按主要语言

-
JavaScriptJavaPythonSQLPHPC++C#TypeScriptGoKotlin
76%52%51%62%81%34%55%72%55%44%网站
39%36%42%37%39%39%45%40%40%44%实用工具(用于小型任务的小应用)
32%32%34%49%42%29%41%28%28%24%数据库/数据存储
24%26%23%29%24%25%31%25%30%23%系统软件
22%23%22%24%21%29%27%31%35%33%库/框架
16%20%34%24%13%25%17%17%18%14%商业智能/数据科学/机器学习
16%18%19%21%20%13%20%18%34%17%IT 基础架构
15%16%18%15%15%22%16%19%22%20%编程工具
13%12%12%8%14%14%13%13%11%15%娱乐
12%15%11%15%7%6%12%15%14%14%金融科技
8%9%10%5%8%19%20%7%10%9%游戏
6%7%10%6%6%9%6%6%6%7%家居自动化
5%7%8%6%5%8%6%5%10%7%安全
3%5%7%3%3%13%6%3%4%4%硬件
4%3%4%3%3%4%2%3%5%4%区块链
3%3%4%1%2%6%6%3%1%4%增强现实/虚拟现实
4%5%4%4%5%7%6%5%4%9%其他
00.81
JavaScript
Java
Python
SQL
PHP
C++
C#
TypeScript
Go
Kotlin
-
网站实用工具(用于小型任务的小应用)数据库/数据存储系统软件库/框架商业智能/数据科学/机器学习IT 基础架构编程工具娱乐金融科技游戏家居自动化安全硬件区块链增强现实/虚拟现实其他
00.81

您的项目以哪种(哪些)平台为目标?

84%Windows
60%Linux
39%macOS
8%其他

该问题仅向开发桌面系统平台的开发者显示。

您是否参与开源项目?

44%20%16%11% 4% 3% 2%否,但愿意仅贡献过几次是,有时(一年几次)是,经常(至少每月一次)否,而且不愿意我全职编写开源代码,并为此获得报酬我全职编写开源代码,但不获得报酬

移动

移动开发问题仅向为移动设备开发的受访者显示。

您面向哪种(哪些)移动操作系统开发?

45%Android 和 iOS
41%Android
11%iOS
2%其他

原生工具仍是最受欢迎的移动开发解决方案。有三分之二的移动开发者使用它们。此外,一半的移动开发者使用跨平台技术或框架。在这些框架中,React Native 仍然最受青睐,42% 的移动开发者使用它。

您使用哪种(哪些)跨平台移动框架?

42%39%18%18%14%11% 6% 5% 2%React NativeFlutterCordovaIonicXamarinUnityPhoneGapNativeScriptKotlin Multiplatform
所有结果

这个问题仅向使用跨平台技术或框架的开发者显示。

Flutter 的受欢迎程度在过去一年增加,它的份额上升了 9%。在同一期间,Cordova、Ionic 和 Xamarin 的份额差不多都下降了 10%。

您在目前开发的移动应用中使用以下哪种(哪些)组件?

67%62%59%55%42%37%33%27%24% 8% 2% 2%数据存储网络媒体(图像、视频、音频)状态和导航管理数据同步文件 I/O安全付款计算机器学习其他

这个问题仅向目前开发移动应用的受访者显示。

大数据

此部分中的问题向在“您参与哪种(哪些)类型的活动?”问题中选择“数据分析”、“数据工程”或“机器学习”,或在“不论职位级别,以下哪一项能够最贴切地描述您的工作角色?”中选择“数据分析师/数据工程师/数据科学家”的受访者显示。

您可以从他们的回答中发现,其中许多人在工作中都不使用任何大数据工具。

您使用哪种(哪些)大数据分析平台?

67%18%11% 6% 6% 4% 4% 1% 3%无特定平台Google CoLabGoogle AI PlatformDatabricksMicrosoft Azure HDInsightCloudera Data PlatformZeppelinQubole其他

大多数数据分析都不使用任何特定的平台。

您使用哪种(哪些)大数据工具?

24%18%14%10% 4% 4% 2% 2% 1%Apache SparkApache KafkaApache Hadoop/MapReduceApache HiveApache FlinkDaskApache PigApache BeamApache Tez
所有结果

您使用哪个 Spark 版本?

51%34%14% 1% 4% 1% 3%2.42.32.0 - 2.21.x定制 Spark 发行版其他

您的大部分数据托管在哪里?

34%24%23%10% 5% 4%内部服务器本地AWSGoogle CloudAzure其他

您使用哪种(哪些)统计软件包来分析和可视化数据(如果有)?

50%18% 5% 5% 3% 2%12%32%电子表格编辑器(Microsoft Excel、OpenOffice Calc、Google 表格等)TableauSASSPSSStatisticaStata其他

查找正确的工具

选择您的技术

下载所需工具

免费试用

感谢您的参与!

我们真诚地希望您能发现我们的报告有用。与您的朋友和同事分享这份报告。

加入 JetBrains Tech Insights Lab

参与调查和用户体验研究,让 JetBrains 产品更易用、更强大。参与我们的研究,您还将有机会获得奖励。

如果您有任何疑问或建议,请发送电子邮件至 surveys@jetbrains.com

© 2000-2020 JetBrains s.r.o. 保留所有权利。