JetBrains 2018年度Python开发人员调查报告详解
在2018年秋季,Python软件基金会与著名IDE开发商JetBrains联合举行了第二届Python开发人员调查。调查共有来自150多个不同国家的两万多名开发人员参与。日前JetBrains官方公布了调查的结果。该结果有什么有趣的结果和动态趋势呢,请看虫虫给你做现场解读,结果分普通使用、开发类型、Python 3的使用、Python框架,库和技术,开发工具,就业和工作等方面。
语言的使用
Python作为主要语言VS次要语言
JetBrains 2018年度Python开发人员调查报告详解调查中,有84%的Python用户使用Python作为他们的主要语言,而16%的用户是他们的第二语言。同比对比,2017年分布为:79%使用Python作为主要语言,21%作为次要语言。可以使用Python作为主要语言的趋势2017年的调查结果高出5个百分点。
使用其他语言的Python(作为次要语言)
JetBrains 2018年度Python开发人员调查报告详解所有Python用户中有一半也使用JavaScript。 2018年的统计数据与2017年的结果非常相似。唯一显著的区别是Bash/Shell从17年的36%增长到2018年的45%。Go和SQL也都增长了2个百分点,而C/C++,Java和C#等许多其他语言则都有一定程度的降低。
与2017年一样,使用Python作为辅助语言的人的语言则细分略有不同,使用JavaScript的开发人员略减少少(47%),但使用C/C++(39%),Java(35%)和C#(19%)的人数则增加。
Python开发的类型
可能大家都好Python奇码农们都拿Python在干什么?以及他们如何将Python结合到具体工作中的。
主要使用Python来干什么?
JetBrains 2018年度Python开发人员调查报告详解60%兼顾工作和个人,21%用户个人项目、教学或辅助项目,19%用于工作。
我们很高兴看到Python作为个人和专业类型项目的首选语言同样受欢迎,大多数人在工作和家庭中都使用它。
使用Python做哪方面内容?
JetBrains 2018年度Python开发人员调查报告详解可见Pyton语言在数据分析,Web开发,服务/系统管理/编写自动化脚本,机器学习,网络解析器/刮刀/爬虫,编程软件测试/编写自动化测试,教育软件原型,网络编程,桌面开发,计算机图形,嵌入式开发,游戏开发,移动开发,多媒体应用程序开发等各个领域均有在使用。值得注意的是,数据分析比Web开发更受欢迎,从2017年的50%增长到2018年的58%。机器学习也增长了近7个百分点。这些类型的开发正在经历比Web开发更快的增长,Web开发与前一年相比仅增加了2个百分点。
与2017年一样,Web开发是唯一一个与使用Python作为主要语言和辅助语言的人之间存在较大差距(56%对比36%)的类别。对于其他类型的开发,差异要小得多。
在2018年,有更多的受访者表示他们参与了DevOps(与2017年同比增长了8%)。对于使用Python作为辅助语言的Python用户而言,DevOps已经取代了Web开发。
你在多大程度上参与了以下领域的编程?
JetBrains 2018年度Python开发人员调查报告详解通过这个问题更深入地了解受访者在之前的多项选择题中选择的各种开发类型。可以清楚地看到Python主要用于游戏开发是作为业余爱好,而Web开发,机器学习,数据分析和软件测试主要是作为主要工作。
你最常参与的开发是?
JetBrains 2018年度Python开发人员调查报告详解在这个问题中,受访者只能选择一个选项。乍一看,结果表明,网络开发是一个好像占很大比例(27%),比数据分析(17%)的比例要大很多。但仔细观察就会发现机器学习有大幅度的增长(11%)。如果将数据分析和机器学习整合到一个"数据科学"类别中,则占比就很大了28%。
比较使用Python作为主要语言与次要语言的趋势,Web开发的差距最大(29%对17%)。对于数据分析和机器学习,没有显着差异。
"DevOps /系统管理/编写自动化脚本"已经成为Python用户中第一个使用它作为辅助语言的用户。这一发现与前一节中强调的Bash/Shell使用量增加有关。
Web开发(27%)约等于28% 科学开发领域(数据分析17%+机器学习11%)。
与2017年一样,Web开发和数据科学仍然是2018年Python开发的主要类型。不过Python中的数据科学作为该语言的辅助用途,其受欢迎程度的增长速度要快得多。
Python 3采用
Python 3与Python 2对比
JetBrains 2018年度Python开发人员调查报告详解大版本细分
JetBrains 2018年度Python开发人员调查报告详解"你最常用的是哪个版本的Python?"。 Python 3以84%占比,成了使用最广泛的Python版本,而Python 2仅占16%的占比。这是Python 3受欢迎程度的得到了巨大增长。根据2017年的最新研究,75%的人使用的是Python 3,而使用的是Python 2的25%。使用Python 2的情况正在下降,因为它不再积极开发,没有获得新功能,并且将会在2020年停止维护。
Python 3 逐年占用比
注意:前几年Python 3的采用数据来自公开调查:2014年,2015年,2016年和2017年。
JetBrains 2018年度Python开发人员调查报告详解Web开发、数据科学和DevOps
JetBrains 2018年度Python开发人员调查报告详解另一个有趣的结果是进行Web开发的人中只有82%使用Python 3,而在数据科学领域这一比例高达90%。可能的原因是,一些Web开发人员在转换到Python 3时仍然需要维护大量遗留代码。另一方面,许多数据分析师和机器学习专家最近加入了Python生态系统并开始使用最新的Python 3。
Python安装和升级
JetBrains 2018年度Python开发人员调查报告详解71%的受访者从python官网或OS提供的包管理器(如APT和Homebrew)安装Python。这与2017年的结果非常相似。有趣的是,与17年相比,Anaconda增长了7个百分点。这可能是数据科学的普及比其他类型的发展更快的额外证据。
是否使用以下任何工具来隔离Python环境(如果有)? (多选)
JetBrains 2018年度Python开发人员调查报告详解在开发或部署阶段隔离Python环境已经取得了长时间以来的最佳实践。毫无疑问,pipenv和较低级别的virtualenv是创建和管理新的Python环境的两个最常用的工具。令人惊讶的是,21%的Python用户还未接受这种做法。
Python框架,库和技术
本节重点介绍Python开发人员使用的各种Python框架,库和技术的流行程度。
Web框架(多选)
JetBrains 2018年度Python开发人员调查报告详解令人惊讶的是,与前一年相比,调查结果Flask的使用量增长了15个百分点,因此,今年Flask已成为最受欢迎的Web框架。 45%的受访者则选择了Django(2017年为41%)。
数据科学框架和库(多选)
JetBrains 2018年度Python开发人员调查报告详解和通常的感觉相同,最流行的数据科学框架和库是:NumPy,Pandas,Matplotlib和SciPy。特定于机器学习的库,如SciKit-Learn,TensorFlow,Keras等,也非常受欢迎,这与快速发展的机器学习作为Python开发的主要类型密切相关。
一般框架和库(选)
JetBrains 2018年度Python开发人员调查报告详解对于该问题,调查中列出了一些通用的Python库。超过一半的Python用户使用了Requests。Pilow也颇受欢迎。五分之一的Python用户使用Asyncio。
云平台(多选)
JetBrains 2018年度Python开发人员调查报告详解55%使用云平台的Python用户更喜欢AWS。 GAP排在第二位,其次是Heroku,DigitalOcean和微软Azure。大约三分之一的受访者没有使用任何云解决方案。
除了上面列出的流行云平台,我们发现OpenStack和Linode各占6%,OpenShift占3%,Rackspace占2%。
除了有关云平台选择的问题之外,还提出了一些其他问题,以便了解Python开发人员具体如何使用云:
如何在云中(在生产环境中)运行代码? (多选)
JetBrains 2018年度Python开发人员调查报告详解开发环境中使用云
JetBrains 2018年度Python开发人员调查报告详解开发工具
操作系统(多选)
JetBrains 2018年度Python开发人员调查报告详解令人惊讶的是,近三分之二的受访者选择Linux作为他们的开发环境操作系统。请注意,对于这个问题,我们允许多个答案。在这里没有得出主要OS流行度的结论。
测试框架
JetBrains 2018年度Python开发人员调查报告详解领先的单元测试框架是pytest,然后是unittest。其他单元测试框架远没那么受欢迎。令人惊讶的是,35%的Python用户不使用任何测试框架,并且可能没有测试他们的代码。在"创建隔离的Python环境的工具"部分中,我们发现大约五分之一的Python用户不对Python隔离,这是另一个令人惊奇的实际中的结果。
数据库
JetBrains 2018年度Python开发人员调查报告详解大多数人使用免费或开源数据库,如PostgreSQL,MySQL或SQLite。 MongoDB和Redis等非关系型数据库也非常受欢迎,可能是由于Python用户正在进行某种形式的机器学习或数据工程。
ORMS
JetBrains 2018年度Python开发人员调查报告详解两个最流行的ORM是SQLAlchemy和Django ORM,它们与两个领先的Web开发框架:Flask和Django的流行度相匹配。
可能使用过的大数据工具?
JetBrains 2018年度Python开发人员调查报告详解大型数据工具更有可能被机器学习工程师使用,Spark、Hadoop和Kafka是最多采用的大数据工具。76%的受访者都没有接触过大数据方面的工具。
经常使用哪种持续集成(CI)系统? (多选)
JetBrains 2018年度Python开发人员调查报告详解大约一半的Python用户没有使用过任何CI解决方案。 Python世界中最受欢迎的三个CI解决方案是Jenkins,Gitlab CI和Travis。
配置管理
JetBrains 2018年度Python开发人员调查报告详解大多数Python用户不使用配置管理工具。使用者中,使用最多的是 Ansible(20%)。
编辑器和IDE
为了确定最流行的编辑器和IDE,问卷专设了一个单一答案的问题"你当前Python开发使用的主编辑器是什么?"2018年不到1%没有选择距离的编辑器。
JetBrains 2018年度Python开发人员调查报告详解PyCharm是最受欢迎的Python开发工具,PyCharm Professional和Community版本的合计份额为35%。有趣的是,VS Code从2017年的7%上升到2018年的16%,成为第二大最受欢迎的Python开发编辑器。由于VS Code的快速增长,许多其他编辑器的用户份额均有所减少。
Web开发人员与数据科学家的编辑偏好略有不同。他们比数据科学家更喜欢PyCharm,VS Code,Vim和Sublime文本,而数据科学家更喜欢Jupyter Notebook作为他们的主要工具。
Python开发的工具和功能
JetBrains 2018年度Python开发人员调查报告详解结果显示在Python中开发的领域相对流行的版本控制,代码自动完成,代码重构,编写单元测试以及使用Python项目虚拟环境占据了较大的份额。其他流行的工具和功能包括SQL数据库、调试和类型提示。NoSQL数据库,Python分析器和代码覆盖工具则是较少使用的功能。
尽管类型提示是一种可选技术,但它似乎越来越受欢迎。 59%的受访者表示,他们经常使用类型提示,或者在使用Python开发时时常使用。类型提示的使用排名高于使用代码覆盖率和分析器工具,现在与使用CI解决方案进行Python开发的份额相当。
鉴于在2018年我们的受访者中学生和经验丰富的开发人员较少,我们可以得出结论,在专业团队中工作的人越长,他们拥有的经验越多,他们使用的工具和专业技术就越多。
就业和工作
就业状况
JetBrains 2018年度Python开发人员调查报告详解超过一半的Python用户为全职工作,19%是学生,而只有13%是自雇人士或自由职业者。与2017年相比,学生人数明显减少,就业人数也更多。
工作角色(多选)
JetBrains 2018年度Python开发人员调查报告详解受访者可以选择多个角色,因此总数大于100。大约四分之三的人是开发人员,五分之一的人是数据分析师,架构师或小组长。在收集的12%的"其他"中,最最多选项包数据科学家,DevOps,研究员和教师。
工作的项目
JetBrains 2018年度Python开发人员调查报告详解42%从事许多不同的项目,41%在一个主要和几个辅助项目上工作。只有17%的用户只工作于一个项目。
在团队工作与独立工作
JetBrains 2018年度Python开发人员调查报告详解有趣的是答案,大概一半的Python用户都在独立项目上工作。
团队规模
JetBrains 2018年度Python开发人员调查报告详解大约四分之三的团队开发人员在非常小的团队中工作(不超过10)。团队规模分布与2017年完全相同。
公司规模
JetBrains 2018年度Python开发人员调查报告详解公司行业分布
JetBrains 2018年度Python开发人员调查报告详解在"其他"选项中最常列出的行业是零售业,能源业和媒体业。
开发了以下哪些行业系统?目标行业?
JetBrains 2018年度Python开发人员调查报告详解"其他"占正在开发的行业的12%。大多数自填的行业包括电信或能源部门,还提到了其他多个行业。
IT经验
JetBrains 2018年度Python开发人员调查报告详解与2017年的结果相比,今年有更多经验丰富的受访者。 Python用户的经验水平是多种多样的,没有明确的领先类别。
年龄范围
JetBrains 2018年度Python开发人员调查报告详解二十多岁是受访者中最多分布的年龄段,近三分之一是三十多岁。许多年轻人也开始融入了Python开发。
全球分布
Python开发者分布于150多个不同国家,占前几位的国家分别是21%美国,12%印度,6%英国,5%德国,4%中国,4%法国
要点总结
Python 3的采用率正在快速增长,并且已经达到84%,而Python 2仅被16%的Python用户用作主要的解释器。对于Python 3来说,这是一个巨大的普及,从2017年数据为75%。
数据分析在Python用户中比Web开发更受欢迎,从2017年的50%增长到2018年的58%。
使用Python作为主要语言的所有开发人员中有一半也使用JavaScript。 Python也经常与HTML/CSS,Bash/Shell,SQL,C/C++和Java一起使用。
Flask和Django是Web开发人员中最受欢迎的框架。拥有相同的份额(每个约45%)。
NumPy,Pandas,Matplotlib和SciPy是最受欢迎的数据科学框架和库。机器学习专用库,如SciKit-Learn,TensorFlow,Keras等,也很受欢迎。
AWS是Python开发人员最受欢迎的云平台,其次是GAP,Heroku,DigitalOcean和微软Azure。
2018年,DevOps数量明显增加(与2017年相比增加了8个百分点)。对于使用Python作为辅助语言的Python用户而言,DevOps已经取代了Web开发。
PyCharm及其两个版本是最受欢迎的Python开发工具。有趣的是,VS Code已从2017年的7%扩展到2018年的16%,成为Python开发的第二大最受欢迎的IDE其他流行的Python编辑器包括Vim,Sublime和Jupyter Notebook。
令人惊讶的是,几乎三分之二的Python开发人员选择Linux作为他们的开发环境操作系统。