0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python开发人员年度调查来了!

DPVg_AI_era 来源:lp 2019-03-02 09:23 次阅读

第二届Python开发人员年度调查出炉。调查内容包括Python使用概况、开发类型、框架、库和技术、Python3采用率、就业和工作等众多方面。

Python开发人员年度调查来了!

2018 年秋,Python 软件基金会和著名 IDE 开发商 JetBrains 联合进行了第二届 Python 开发人员调查。和第一次调查一样,本次调查旨在关注 Python 的最新趋势并总结 2018 年 Python 开发的发展情况。

来自 150 多个不同国家的 20000 多名开发人员参与了此次调查,帮我们勾勒出一个更精准、与时俱进的 Python 社区全景图,包括:

Python在全球各地的使用

开发类型

Python 3 的使用

Python 框架、库和技术

开发工具

就业和工作等方面。

总结一下这份报告:

Python 3 的采用率正在快速增长,并且已经达到 84%,而 Python 2 仅被 16%的 Python 用户用作主要的注释器。从 2017 年的 75%到 2018 年的 84%,这对于 Python 3 来说是一个巨大的飞跃。

数据分析在 Python 用户中比 Web 开发更受欢迎,从 2017 年的 50%增长到 2018 年的 58%

使用 Python 作为主要语言的所有开发人员中有一半也使用 JavaScript。Python 也经常与 HTML / CSS,Bash / Shell,SQL,C / C ++ 和 Java 一起使用。

Flask 和 Django 是 Web 开发人员中最受欢迎的框架,占比相同(约 45%),把其他 Python Web 框架远远甩在后面。

NumPy,Pandas,Matplotlib 和 SciPy 是最受欢迎的数据科学框架和库。机器学习专用库,如 SciKit-Learn,TensorFlow,Keras 等,也很受欢迎。

AWS 是 Python 开发人员最受欢迎的云平台,其次是 Google Cloud Platform,Heroku,DigitalOcean 和 Microsoft Azure。

2018 年,使用 DevOps 的受访者数量明显增加(与 2017 年相比增加了 8 个百分点)。对于使用 Python 作为辅助语言的 Python 用户而言,DevOps 已经取代了 Web 开发。

PyCharm 及其两个版本是最受欢迎的 Python 开发工具。有趣的是,VS Code 已从 2017 年的 7%扩展到 2018 年的 16%,使其成为 Python 开发的第二大受欢迎的编辑器。其他流行的 Python 编辑器包括 Vim,Sublime 和 Jupyter Notebook。

令人惊讶的是,几乎三分之二的 Python 开发人员选择 Linux 作为他们的开发环境操作系统

Python 使用概况

Python 作为主要语言 VS 次要语言

在我们的调查中,84%的 Python 用户使用 Python 作为他们的主要语言,而 16%的用户把 Python 作为第二语言。 在 2017 年,这个分布略有不同:79% 受访者指出他们使用 Python 作为主要语言,21%作为次要语言。

有趣的事实:

Python 作为主要语言的使用率比 2017 年的 79%高出 5 个百分点。

Python 与其他语言的使用

Python 用户中有一半还使用 JavaScript。 2018 年的统计数据与 2017 年的结果非常相似,唯一显著的区别是 Bash / Shell 从 2017 年的 36%增长到 2018 年的 45%。Go 和 SQL 都增长了 2 个百分点,而 C / C ++、Java 和 C#等许多其他语言的占比降低。

与 2017 年一样,使用 Python 作为辅助语言的用户语言细分略有不同,使用 JavaScript 的开发人员略少(47%),但也有不少人使用 C / C ++(39%)、Java(35%)和 C#(19%)。

Python 开发类型

人们使用 Python 进行什么类型的开发,以及如何进行结合?

使用 Python 的目的是什么?

60% 的用户在家和工作中都会使用 Python,21% 的人将之用于个人、教育或辅助项目,19% 用于工作。

用 Python 干什么?

2018 年,使用 Python 做数据分析的用户最多,其次是 web 开发,再次为 DevOps/ 系统管理 / 编写自动化代码、机器学习等。

值得注意的是,用 Python 来做数据分析的人比 Web 开发更多,从 2017 年的 50%增长到 2018 年的 58%。机器学习也增长了 7%。 这些类型的开发比 Web 开发增长更快,Web 开发与前一年相比仅增加了 2 个 %。

2018 年,将 Python 用于教育和多媒体应用开发的占比和去年持平,而网络编程、桌面开发、计算机图形、游戏开发、移动开发的占比同比有所下降。

与 2017 年一样,Web 开发是唯一一个与使用 Python 作为主要语言和辅助语言的人之间存在较大差距(56%对 36%)的类别,而其他类型的开发差异要小得多。

有趣的事实:

2018 年,有更多的受访者表示他们使用 Python 的用途涉及 DevOps(与 2017 年相比增长了 8%)。对于使用 Python 作为辅助语言的 Python 用户而言,DevOps 已经取代了 Web 开发。

对以下活动的参与度

通过这个问题,我们试图更深入地了解受访者在之前的多项选择题中选择的各种开发类型。可以清楚地看到,Python 用于游戏开发主要是业余爱好,而 Web 开发、机器学习、数据分析和软件测试主要是工作所需。

其中,93% 的用户使用 Python 进行软件测试,90% 用户进行 DevOps,87% 用户进行 Web 开发都是出于工作需要。

最常使用 Python 干什么?(单选)

在这个问题中,受访者只能选择一个选项。结果表明,Web开发遥遥领先(27%),把数据分析(17%)远远甩在后面。但如果我们仔细观察一下就会发现,机器学习的占比有所增长(11%)。如果我们将数据分析和机器学习整合到“数据科学”这一类中,这个数字将达到惊人的 28%。也就是说,用户最常使用 Python 做数据科学相关的任务。

紧跟着是机器学习和 DevOps,2017 年和 2018 年的占比未发生变化,均为 9% vs 11%。

比较使用 Python 作为主要语言与次要语言的趋势,Web 开发两者之间的差距最大(29% vs 17%)。数据分析和机器学习之间没有显著差异。

有趣的事实:

DevOps / 系统管理 / 编写自动化脚本'已经位列 Python 用户使用其作为辅助语言的首位。这一发现与前一节中强调的 Bash / Shell 使用量增加有关。

与 2017 年一样,Web 开发和数据科学仍然是 2018 年 Python 开发的主要类型。不过,我们注意到 Python 中的数据科学作为该语言的其他用途,其受欢迎程度的增长速度要快得多,这可以从多选题“你使用 Python 做什么?”中看出来。

Python 3 采用率

Python VS Python 3

我们的问题是:”你最常用的是哪个版本的 Python?”。结果显示,84%的用户表示最常用版本为 Python 3 ,远超 Python 2 的 16%。从 2017 年的 75%到2018年的84%,Python 3 的受欢迎程度得到大幅提升。

其中,最受欢迎的 Python 3 版本是 Python 3.6,最受欢迎的 Python 2 版本是 Python 2.7。

有趣的事实:

Python 3 的使用率继续快速增长。根据 2017 年的最新研究,75%的人使用 Python 3,使用 Python 2 的用户比例是 25%。Python 2 的采用率正在下降,因为其不再进行积极开发,没有新功能,并且将会在 2020 年停止维护。

Python 3 的采用率从过年 2013 年的 22%,到 2018 年 10 月已攀升至 84%。

另一个有趣的发现是,只有 82% 主要用于 Web 开发的用户使用 Python 3,而涉及数据科学的 Python 3 采用率上升至 90%。

可能原因:

可能导致这种情况的原因之一是有些开发人员在转换到 Python 3 时仍然需要维护大量遗留代码。另一方面,许多数据分析师和机器学习专家最近加入了 Python 生态系统并开始使用最新的 Python 3。

Python 安装和升级

71%的受访者从 python.org 或 OS 提供的包管理器(如 APT 和 Homebrew)安装 Python。这与 2017 年的结果非常相似。有趣的是,与 2017 年相比,Anaconda 的占比增长了 7 个百分点。这更加明确了数据科学比其他类型的开发类型受欢迎程度增长更快。

是否使用以下工具隔离 Python 开发环境?(多选)

在开发或部署阶段隔离 Python 环境很久以来是一个最佳实践。毫无疑问,pipenv 和较低级别的 virtualenv 是创建和管理新的 Python 环境的两个最常用的工具,64% 的受访者表示会使用这两个工具进行 Python 环境隔离,31% 的用户会使用 Docker,其次是 Conda、Vagrant/ 虚拟机和其他。令让人惊讶的是,21%的 Python 用户根本不使用以上工具。

Python 框架、库和技术

这一部分强调了开发者使用的各种 Python 框架、库和技术的流行度。

网页框架(多选)

受访者中 Flask 的使用量同比增长了 15 个百分点,因此,今年 Flask 意外地成为最受欢迎的 Web 框架。 而 45%的受访者(2017 年为 41%)选择了 Django,Flask 和 Django 加起来就已经占据了 92% 的份额。

数据科学框架和库(多选)

不出所料,最流行的数据科学框架和库是:NumPy,Pandas,Matplotlib 和 SciPy。机器学习专用库,如 SciKit-Learn,TensorFlow,Keras 等,也非常受欢迎,这与作为 Python 开发主要类型的机器学习快速发展密切相关。

普通框架和库

在普通框架和库中,不出所料,超过一半的 Python 用户使用了 Requests。Pillow 也非常受欢迎,1/5 用户使用 asyncio。

最受欢迎云平台(多选)

55%使用云平台的 Python 用户更喜欢 AWS。Google Cloud Platform 排在第二位,其次是 Heroku,DigitalOcean 和 Microsoft Azure。大约三分之一的受访者不使用任何云解决方案。

除了上面列出的流行的云平台,我们发现 OpenStack 和 Linode 各占 6%,OpenShift 占 3%,Rackspace 占 2%。

除了有关云平台选择的问题之外,我们还提出了一些其他问题,以了解 Python 开发人员如何使用云:

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

在虚拟机上占比 47%,在容器中占比 40%,在 PaaS 上占比 28%,在 Severless 中占比 21%。

开发环境中使用云

56%- 本地虚拟环境35%-Docker 容器24%- 虚拟机17%- 本地系统注释器17%- 远程开发环境9%- 直接在生产环境中

开发工具

操作系统

令人惊讶的是,近三分之二的受访者选择 Linux 作为他们的开发环境操作系统。请注意,这是个多选题,在这里没有得出主要 OS 流行度的结论。

测试框架

pytest 在测试框架排名中领先,其次是 unittest。其他测试框架远没那么受欢迎。出乎意料的是,35%的 Python 用户不使用任何测试框架,并且可能没有测试他们的代码。在“创建隔离的 Python 环境的工具”部分中,我们发现大约五分之一的 Python 用户不使用 Python 隔离这一最佳实践。

数据库

大多数人使用免费或开源数据库,如 PostgreSQL,MySQL 或 SQLite MongoDB 和 Redis 等非关系型数据库也非常受欢迎,因为大量的 Python 用户正在进行某种形式的机器学习或数据工程。

ORMs

两个最流行的 ORM 是 SQLAlchemy 和 Django ORM,它们与两个领先的 Web 开发框架:Flask 和 Django 的流行度相匹配。

使用以下哪种大数据工具?

机器学习工程师更有可能使用大型数据工具,这就是为什么 76%的受访者表示没有使用大数据工具。Spark 是大数据工具中的首选,其次是 Hadoop 和 Kafka。

经常使用哪种持续集成(CI)系统? (多选)

将近一半 Python 用户不使用任何 CI 方案。Python 世界中最受欢迎的三个 CI 解决方案是 Jenkins,Gitlab CI 和 Travis。

配置管理

大多数 Python 用户不使用配置管理工具。在使用配置管理中,最受欢迎的无疑是 Ansible。

编辑和 IDE

为了找到最流行的编辑器和 IDE,我们提出了单选题:“你当前 Python 开发使用的主编辑器是什么?”不到 1%的选项一并归在 Other 下。

PyCharm 是最受欢迎的 Python 开发工具,PyCharm Professional 和 Community 版本的合计份额为 35%。有趣的是,VS Code 的占比从 2017 年的 7%上升到 2018 年的 16%,成为第二大受欢迎的 Python 开发编辑器。很可能由于 VS Code 的快速增长,许多其他编辑的用户份额减少了。

Web 开发人员与数据科学家的编辑偏好略有不同。他们比数据科学家更喜欢 PyCharm,VS Code,Vim 和 Sublime 文本,而许多数据科学家更喜欢 Jupyter Notebook 作为他们的主要工具。

Python 开发工具和功能

我们找到了在 Python 中相对受欢迎的开发工具和功能:版本控制,代码自动完成,代码重构,编写单元测试以及使用 Python 项目的虚拟环境都位列 Top10。

其他流行的工具和功能还包括 SQL 数据库,调试和代码 linting。NoSQL 数据库,Python 分析器和代码覆盖工具是最少使用的功能。

有趣的事实:

类型提示作为一种可选技术似乎越来越受欢迎。59%的受访者表示,他们经常或偶尔在 Python 开发时使用类型提示。类型提示的使用排名高于代码覆盖和分析器工具,与 CI 解决方案采用率进行 Python 开发旗鼓相当。

鉴于在 2018 年调查中,受访者中学生较少,而经验丰富的开发人员较多,我们可以得出结论,在专业团队中工作时间越长,经验越丰富,他们使用的工具和专业技术就越多。

就业和工作

就业现状

超过一半(62%)的 Python 用户全职工作,19%为学生,而只有 13%为自雇人士或自由职业者。与 2017 年相比,2018 年,学生人数明显减少,就业人数更多。

工作岗位

这是个多选题,因此总百分比大于 100%。将近 3/4 受访者为开发者,1/5 为数据分析家、架构师或团队领导。在占比为 12% 的“其他”部分,最多的职位头衔为数据科学家、DevOps、研究员和教师。

从事项目开发

只有五分之一的 Python 用户只从事一个项目 ; 其余人的工作涉及许多不同的项目,或负责一个主要项目和若干次要项目。

团队合作 VS 独立工作

有趣的是,将近一半的 Python 用户独立进行项目开发,4% 的用户作为外部咨询或训练师。

团队规模

约三分之一的开发者在规模很小的团队中工作,其中 74% 的团队规模为 2-7 人。团队规模的数据与去年相比没有变化。

企业规模

25% 的受访者在 51-500 人的企业中工作,这一部分占比最大,其次为 11-50 人和 5000 人以上企业,占比均为 19%。

企业行业和业务分布

信息技术 / 软件开发占比最大,为 44%;“其他”一列中包括零售、能源和媒体。

目标企业 / 行业

Python 开发者的主要目标企业 / 行业同样为信息技术 / 软件开发,还包括财务、银行、销售、商务等,“其他”部分占比 12%。大部分自填的行业包括电信或能源,并提到了其他行业。

IT 行业经验

与 2017 年相比,Python 用户在 IT 行业的经验更加多样化,没有特别占优势的群体,其中拥有 11 年以上经验的用户占比最大(25%),其次为 3-5 年经验(22%),小于一年(19%)。

平均年龄

受访者普遍年龄在 20 岁左右(39%),近三分之一是 30 多岁(31%),许多年轻人似乎也融入了 Python 社区(5%)。

全球社区

以下为全球 150 多个国家的 Python 开发者社区分布:

21% 美国,12% 印度,6% 英国,5% 德国,4% 中国,4% 法国,3% 俄罗斯,3% 加拿大,3% 巴西,2% 西班牙,2% 波兰,2% 澳大利亚,2% 意大利,2% 荷兰,1% 乌克兰,1% 捷克共和国,1% 瑞典,1% 以色列,25% 其他。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    66

    文章

    8338

    浏览量

    132276
  • python
    +关注

    关注

    55

    文章

    4764

    浏览量

    84353
  • 数据科学
    +关注

    关注

    0

    文章

    164

    浏览量

    10038

原文标题:Python开发者年度报告:Python3采用率超84%,就业率高达62%

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于FPGA的单线聚合(SWA)——适用于FPGA开发人员和非FPGA开发人员

    拥有FPGA设计经验的开发者还能自定义该解决方案。即便没有FPGA设计经验,开发人员依然能够轻松快速完成部署。
    发表于 10-21 10:17 1792次阅读
    基于FPGA的单线聚合(SWA)——适用于FPGA<b class='flag-5'>开发人员</b>和非FPGA<b class='flag-5'>开发人员</b>

    RemoTI基本远程开发人员指南

    `RemoTI基本远程开发人员指南目录`
    发表于 03-16 16:28

    高价寻找matlab快速开发人员

    高价寻找matlab快速开发人员
    发表于 04-04 15:38

    Python就业状况分析

    中排名第三。这些事实与Python就业市场是什么关系呢?尽管Python开发人员调查并未专门提出工作受欢迎度,但我们可以从Python
    发表于 05-23 15:20

    TS-5400开发人员培训

    TS-5400开发人员培训
    发表于 10-09 08:54

    开发人员看的视频

    英特尔®软件频道旨在通过向开发人员提供示例,教程,提示,技巧以及如何将开发人员与影响者,创新者联系起来,帮助他们。
    的头像 发表于 11-01 06:26 2361次阅读

    什么是英特尔开发人员专区

    什么是英特尔®开发人员专区? 观看此视频,了解正在使用工具和资源满足编码需求的软件开发人员
    的头像 发表于 11-12 06:55 2448次阅读

    WebVR:开发人员使用的资源介绍

    这是WebVR系列的最后一集。 在这里,我们将向您介绍一些可供开发人员和爱好者使用的资源。
    的头像 发表于 11-12 06:05 1867次阅读

    英特尔开发人员专区:Android开发

    Android *英特尔®开发人员专区
    的头像 发表于 05-31 09:37 2867次阅读

    Intel开发人员专区

    Intel®开发人员专区
    的头像 发表于 05-31 09:24 1569次阅读

    物联网参考设计开发人员如何缩短设计周期

    满足对速度的需求Ignion的开发环境也有助于物联网参考设计人员开发人员和最终的制造商缩短其设计周期。借助于Ignion的技术,从数千种潜在可用的、彼此不同的天线中找到合适选项的过程,被缩减到从
    的头像 发表于 11-01 10:14 2274次阅读

    物联网开发人员更喜欢基于Arm的处理器

    对 1,700 多名物联网开发人员调查揭示了顶级硬件架构和 IDE 选择。 物联网开发人员面临着无数的硬件和软件挑战,从连接要求和互操作性到安全问题和数据管理。此外,他们需要牢记许多设计限制,包括
    发表于 07-29 11:03 627次阅读

    IoT 开发人员必须考虑设计和安全性

    IoT 开发人员必须考虑设计和安全性
    的头像 发表于 01-03 09:45 490次阅读

    IzoT BACnet 开发人员指南

    IzoT BACnet 开发人员指南
    发表于 03-13 19:31 1次下载
    IzoT BACnet <b class='flag-5'>开发人员</b>指南

    IzoT BACnet 开发人员指南

    IzoT BACnet 开发人员指南
    发表于 07-04 20:48 0次下载
    IzoT BACnet <b class='flag-5'>开发人员</b>指南