Python 2019 年开发者调查报告

发布于:2020 年 6 月 7 日 10:06

Python 2019年开发者调查报告

2019 年秋,Python 软件基金会和 JetBrains 一起开展了第三次年度 Python 开发者调查。就像之前的调查(2017 年、2018 年)一样,我们希望可以借此发现最新的趋势,并深入了解 2019 年 Python 开发的现状。来自 150 多个国家的 24000 名 Python 开发人员参与了调查,帮助我们了解了 Python 社区的全貌。

本文最初发布于 JetBrains 博客,由 InfoQ 中文站翻译并分享。

2019 年秋,Python 软件基金会和 JetBrains 一起开展了第三次年度 Python 开发者调查。就像之前的调查( 2017 年 2018 年)一样,我们希望可以借此发现最新的趋势,并深入了解 2019 年 Python 开发的现状。来自 150 多个国家的 24000 名 Python 开发人员参与了调查,帮助我们了解了 Python 社区的全貌。

Python 的一般使用情况

Python 作为主语言 vs Python 作为第二语言

Python 2019年开发者调查报告

大多数受访者将 Python 作为他们的主编程语言。这个比例与 2018 年 Python 开发者调查中的比例相同。

Python 和其他语言一起使用

Python 2019年开发者调查报告

调查对象:以 Python 为主语言

Python 2019年开发者调查报告

调查对象:以 Python 为第二语言

Python 2019年开发者调查报告

总体情况

与 2018 年相比,与 Python 一起使用的编程语言的分布略有不同。此外,更多的受访者表示,除了 Python,他们不使用任何其他语言,这个比例 2019 年为 11%,2018 年为 6%。

Web vs 数据科学

Python 2019年开发者调查报告

Web 指的是在回答“您最常用 Python 做什么?”这个问题时选择“Web 开发”的人。数据科学指的是在同一问题中选择“数据分析”或“机器学习”的人。

与数据科学家相比,那些选择“Web 开发”的人中使用 JavaScript、TypeScript、HTML/CSS 和 PHP 等脚本语言的更多。与之相反,C/C++、Java 和 R 在数据科学家中比在 Web 开发人员中更受欢迎。

使用 Python 的目的

在这一部分,我们提出了一系列的问题,以了解人们使用 Python 的目的、他们参与的开发类型以及他们如何组合各种用途。

您主要是在哪种场景下使用 Python?

Python 2019年开发者调查报告

您使用 Python 干什么?

Python 2019年开发者调查报告

调查对象:以 Python 为主语言

Python 2019年开发者调查报告

调查对象:以 Python 为第二语言

Python 2019年开发者调查报告

总体情况

Python 用户非常热衷于多任务。对于“您使用 Python 做什么?”这个问题,受访者平均选择了 3.9 个选项。

Python 各种应用领域的占比连续三年保持稳定。数据分析仍然是最常见的 Python 使用方式,其次是 Web 开发。

2019 年,计算机图形学领域的 Python 用户略有增加,为 13%,而 2018 年为 9%。

您参与以下活动的程度如何?

Python 2019年开发者调查报告

对于“您使用 Python 做什么?”这个问题,还有一个开放式的文本框,下面是出现最多的回复:

API、人工智能、天文学、自动化、后端、生物信息学、区块链、机器人、CLI 应用程序、云、计算机视觉、密码学、网络安全、数据工程、数据挖掘 / 管道 / 处理 / 可视化、深度学习、Discord 机器人、工程、企业应用程序(ERP)、道德黑客、ETL、财务软件、有趣、GIS、黑客行为、家居自动化、图像处理、物联网、微服务、音乐、自然语言处理、测试、物理模拟、量子计算、研究、机器人技术、科学 / 科学计算、服务器、交易。

因此,可以得出结论,Python 应用非常广泛。

您主要使用 Python 干什么?

Python 2019年开发者调查报告

调查对象:以 Python 为主语言

Python 2019年开发者调查报告

调查对象:以 Python 为第二语言

Python 2019年开发者调查报告

总体情况

如果您参与了数据分析或机器学习活动,那您认为自己是数据科学家吗?

Python 2019年开发者调查报告

在参与数据分析和机器学习的人中,只有 33% 的人认为自己是数据科学家。

Python 版本

Python 3 vs Python 2

Python 2019年开发者调查报告

虽然 Python 2 已经不再维护,但仍然有 10% 的受访者在积极地使用它。

在 Python 2 的用户中,Web 开发占了 45%,DevOps/ 系统管理 / 编写自动化脚本占 41%,具有 6 年以上编程经验的专业人员的比例是 Python 3 用户的两倍。

Python 两个版本的使用场景

Python 2019年开发者调查报告

尽管数据分析在 Python 开发人员中更普遍,但有趣的是,在使用 Python 2 的开发人员中,数据分析的开发人员占比低于 Web 开发人员的占比。这可能是因为,在数据分析领域,Python 是近年来才开始变得越来越受欢迎,而 Web 开发是一个更加成熟的领域,部分 Web 开发人员需要维护大量的遗留代码。

与 Python 3 的 42% 相比,使用 Python 2 的开发人员从事机器学习工作的比例要低得多,这可能是因为这是一个快速发展的领域。

Python 3 版本

Python 2019年开发者调查报告

Python 3 的用户有超过一半使用 Python 3.7,这使得它成为 2019 年底最流行的 Python 版本。

Python 安装和升级

Python 2019年开发者调查报告

Python 环境隔离

Python 2019年开发者调查报告

Virtualenv 仍然是 Python 环境隔离最流行的方法,尽管还有其他许多有趣的替代方案。与此同时,Vagrant/ 虚拟机变得越来越不受欢迎。自 2018 年以来,它们的占比已经降低了 3 个百分点。

框架和库

本节重点介绍 Python 开发人员使用的各种流行的 Python 框架、库和技术。

Web 框架

Python 2019年开发者调查报告

在那些没有参与 Web 开发的人中,50% 的受访者使用了某种 Web 框架。其中,Flask(32%)和 Django(21%)排在前两位。73% 的 Web 开发人员(主要从事 Web 开发)使用 Django,61% 的 Web 开发人员使用 Flask。

数据科学框架和库

Python 2019年开发者调查报告

NumPy 是最流行的数据科学框架,有 63% 的 Python 开发人员在使用,其次是 Pandas,有 55% 的开发人员在使用。

在以前的调查中,没有 PyTorch 这个选项,但是它非常流行,有 15% 的 Python 开发人员在使用。

大数据工具

Python 2019年开发者调查报告

其他框架和库

Python 2019年开发者调查报告

对于这个问题,我们列出了一些通用的 Python 库。毫不奇怪,超过一半的 Python 用户使用 Requests。Pillow 也很受欢迎。五分之一的 Python 用户使用 asyncio。

单元测试框架

Python 2019年开发者调查报告

对于这个问题,我们提供了一个 Python 单元测试库的列表。几乎有一半的 Python 用户使用 Pytest。它甚至比 unittest 更受欢迎,而后者是 Python 标准库的一部分。

技术和云

ORM

Python 2019年开发者调查报告

SQLAlchemy 和 Django ORM 是两种最流行的 ORM,这也反映了排名前两位的 Web 开发框架 Flask 和 Django 的受欢迎程度。

数据库

Python 2019年开发者调查报告

排名前几位的云平台

Python 2019年开发者调查报告

自 2018 年以来,谷歌云平台使用量增长了 2 个百分点,微软 Azure 增长了 4 个百分点,而 DigitalOcean 和 Heroku 的份额有所下降。

除了上面几种流行的云平台之外,OpenStack 占比 6%,Linode 占比 5%,OpenShift 占比 3%,Rackspace 占比 1%。8% 的受访者还提到了其他上面未列出的云平台,其中得票最多的是 OVH、Vultr、Hetzner 和 Scaleway。

您在云中如何运行代码(生产环境)?

Python 2019年开发者调查报告

在容器中运行代码变得越来越流行(2019 年为 47%,2018 年为 40%),并且已经超过了在虚拟机中运行代码。

您如何进行面向云的开发?

Python 2019年开发者调查报告

自 2018 年以来,在容器中进行面向云的开发受欢迎程度上升了 6 个百分点,而虚拟机的受欢迎程度略有下降,减少了 2 个百分点。

随着容器技术的成熟,它的受欢迎程度有了明显的提高。现在,在许多情况下,容器技术都被用来代替虚拟机进行面向云的开发。尽管虚拟机的使用有所减少,但这两种技术都会继续发挥其关键作用。

开发工具

操作系统

Python 2019年开发者调查报告

在 Python 开发人员中,Linux 是最流行的操作系统——将近三分之二的开发人员在某种程度上使用 Linux。

持续集成(CI)系统

Python 2019年开发者调查报告

与前一年相比,Jenkins/Hudson 和 Travis CI 的份额有所下降,而 Gitlab CI 几乎达到与 Jenkins 相同的覆盖率,后者是最受欢迎的选项。

配置管理工具

Python 2019年开发者调查报告

编辑器和 IDE

为了找出最流行的编辑器和 IDE,我们提了一个单选题:“您在当前的 Python 开发中使用的主要编辑器是什么?”在 2019 年,得票数不足 0.5% 的选项被合并到 Other 选项下。

Python 2019年开发者调查报告

在 Python 开发中,最流行的工具是 PyCharm 和 VScode。PyCharm 社区版和专业版的合计占比为 33%。VScode 也经历了快速的增长。2017 年为 7%,2019 年达到 24%。

Python 开发工具及特性

Python 2019年开发者调查报告

几乎所有的 Python 开发人员都在他们的 IDE 或编辑器中使用版本控制系统、自动补全和代码重构等特性。

就业和工作

就业状况

Python 2019年开发者调查报告

职业角色

Python 2019年开发者调查报告

Python 经验

Python 2019年开发者调查报告

专业编码经验

Python 2019年开发者调查报告

在团队中工作 vs 独立工作

Python 2019年开发者调查报告

从事多个项目

Python 2019年开发者调查报告

团队规模

Python 2019年开发者调查报告

公司规模

Python 2019年开发者调查报告

公司行业

Python 2019年开发者调查报告

目标行业

Python 2019年开发者调查报告

年龄范围

Python 2019年开发者调查报告

方法及原始数据

如果读者想要自己分析结果,可以下载做过匿名处理的调查反馈,看看你能了解到什么!在推特上分享你的发现和见解时,请添加#pythondevsurvey 标签及 @jetbrains @ThePSF

在分析这些数据之前,请注意:

  1. 这些数据只包括来自 Python 软件基金会官方渠道的回复,包括 python.org PSF 博客、PSF 的 Twitter 账户 LinkedIn 账户、Python 官方邮件列表以及与 Python 相关的 subreddits。在过滤掉重复和不可信的回复后,该数据集还包括在 2019 年 10 月和 11 月收集的超过 24000 条回复。为了防止调查偏向任何特定的工具或技术,我们没有使用产品、服务或供应商相关的渠道来收集回复。
  2. 这些数据是匿名的,没有个人信息或地理位置信息。此外,为了防止任何个别受访者被指认,所有开放式字段都已删除。
  3. 为了帮助您更好地理解调查逻辑,我们将共享数据集、调查问题和所有调查逻辑。我们的答案选项使用了不同的排序方法(字母排序、随机排序和直接排序)。答案的顺序是特定于问题的。

我们也非常乐意接受任何与这个调查相关的建议和反馈,这样,我们下次可以做得更好。如果您对本次调查有任何问题或对未来的调查有任何建议,请通过 surveys@jetbrains.com 或 psf@python.org 与我们联系。

原文链接

Python Developers Survey 2019 Results

阅读数:1 发布于:2020 年 6 月 7 日 10:06

评论

发布
暂无评论