本报告介绍了由 JetBrains 进行的第四次年度开发商生态系统调查的合并结果。到 2020 年初,他们对 19696 名开发人员进行了调查,这些反馈帮助 JetBrains 确定了有关工具,技术,编程语言以及开发世界许多其他令人兴奋方面的最新趋势。
内容重点:
- JAVA:是比较流行的主要编程语言。
- JavaScript:是最常用的整体编程语言。
- 网站;是开发人员最常使用的应用程序类型。
- 网络(后端);是比较受欢迎的平台。
- Go,Kotlin,Python:是开发人员计划采用或迁移到的前三种语言。
- Python:在过去的12个月中使用的语言列表已超过Java。这是研究最多的语言。在过去的12个月中,有30%的受访者开始或继续学习Python,甚至比去年还多。
以下为正式内容:
编程语言
- 橙色表示最近12月使用
- 黑色表示计划采用或迁移
JavaScript 是使用人数最多的编程语言,Kotlin 是最多人想要使用的编程语言。
来自其他机构数据统计,全球约有 2040 万活跃的开发者,其中大约有 1220 万开发者在使用 JavaScript,像 Google 维护的 AngularJS、Facebook 的 React 和 Vue.js 都享受着 JavaScript 框架的大力扶持。在过去两年中,也已经有 300 万开发者加入了 JavaScript 社区。
Kotlin 是过去两年来增长最快的语言,共新增了 110 万开发者,很大的原因应该是 Google 选择了 Kotlin 作为 Android 开发的首选语言。这一数据与 GitHub 近两年报告当中的数据也是吻合的。
您是否计划在接下来的12个月内采用或迁移到其他语言?如果是这样,去哪一个?
有 59% 的 GO 开发者没有意向迁移到其他语言,41 %的JavaScript 开发者有意向迁移到 Go 语言。
Go 语言有四大优势让他成为「最想迁移语言第一名」:
- Go 语言容易上手;
- Go 语言解决了并发编程和写底层应用开发效率的痛点;
- Go 语言有 Google 这个世界一流的技术公司在后面;
- Go 语言的杀手级应用是 Docker,而 Docker 的生态圈在这几年完全爆棚了。
您的主要编程语言是什么?
Typescript 稳步增长。它的使用率已从 2017 年的 12% 和 1% 的主要语言增长到 2020 年的 28% 和 12%。
在JavaScript 继续流行的基础上,与此同时,越来越多的前端项目尝试使用更安全、开发效率更高的 TypeScript 重构。 作为 JavaScript 生态的一部分,TypeScript 的强类型约束虽然带来了开发成本的增加,但是也帮助开发者减少了写出低级 bug 的概率,减少了后期维护成本。Vue3.0、Angular 2+、VSCode、Echarts 等知名项目都在用 TypeScript 重构。
您针对哪些平台开发?
您开发什么类型的软件?(包括用于专业或个人目的的任何编程语言的应用程序)
您开发什么类型的软件?(按主要语言)
有 81% 的人使用PHP开发前端网站,有45%的开发者使用C# 来看法使用的小程序,在商业智能、数据分析和机器学习领域 Python 以 49% 的优势位列第一。
使用PHP框架可以简化整个 Web 的开发,PHP 框架中存在的 MVC 架构将有助于代码的使用和维护。这种 MVC 架构可以轻松地为每个模块分别分离文件。而且PHP还拥有较高的稳定性,这是开发者选择它的很重要的原因之一。
Python 是在数据科学领域中非常流行的语言。人工智能(AI)和数据分析(BA)是两个构建开源语言非常普遍的领域。Python语言都有多种强大的支持环境,可以帮助数据科学家更有效地进行科学工作。
机器学习和数据分析之间的界限相对比较模糊。一般认为机器学习在模型可解释性方面比较注重先验的准确性,而数据分析则更关注可解释性和事实推演。Python由于越来越多地应用于先验的准确性,也因此在机器学习中建立了很好的声誉。
您是否为开源项目做出贡献?
调查结果表明约有68%(44%+20%+4%)的开发者几乎没有或很少为开源项目做过贡献,仅有5% 的开发者正在全身心的投入到开源项目的建设中。
移动移动问题仅显示给为移动开发的受访者。
您针对哪种移动操作系统开发?
数据显示有 45%的「双重开发者」 ,单独语言开发者中 Android 开发者数量要远高于 iOS 开发者。
您使用哪种跨平台移动框架?
本地工具仍然是移动开发中很受欢迎的解决方案。三分之二的移动开发人员都在使用它们。此外,一半的移动开发人员使用跨平台技术或框架。在这些框架中,React Native仍然是很受欢迎的框架,并且被42%的移动开发人员所使用。
您使用哪种跨平台移动框架?
在过去的一年中,Flutter的受欢迎程度有所提高,其份额增长了9个百分点。同期,Cordova,Ionic和Xamarin的股票均下跌约10个百分点。
您当前正在开发的移动应用程序中使用以下哪些组件?
大数据
向检查“数据分析”,“数据工程”或“机器学习”的受访者展示本节中的问题,这些问题是“您参与哪种活动?” 或“数据分析师/数据工程师/数据科学家”问题“无论职位高低,以下哪一项最能描述您的工作角色?”。
您可以从他们的答案中得到很多,他们不需要任何大数据工具。