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作为他们的主编程语言。这个比例与2018年Python开发者调查中的比例相同。
调查对象:以Python为主语言
调查对象:以Python为第二语言
总体情况
与2018年相比,与Python一起使用的编程语言的分布略有不同。此外,更多的受访者表示,除了Python,他们不使用任何其他语言,这个比例2019年为11%,2018年为6%。
Web指的是在回答“您最常用Python做什么?”这个问题时选择“Web开发”的人。数据科学指的是在同一问题中选择“数据分析”或“机器学习”的人。
与数据科学家相比,那些选择“Web开发”的人中使用JavaScript、TypeScript、HTML/CSS和PHP等脚本语言的更多。与之相反,C/C++、Java和R在数据科学家中比在Web开发人员中更受欢迎。
在这一部分,我们提出了一系列的问题,以了解人们使用Python的目的、他们参与的开发类型以及他们如何组合各种用途。
调查对象:以Python为主语言
调查对象:以Python为第二语言
总体情况
Python用户非常热衷于多任务。对于“您使用Python做什么?”这个问题,受访者平均选择了3.9个选项。
Python各种应用领域的占比连续三年保持稳定。数据分析仍然是最常见的Python使用方式,其次是Web开发。
2019年,计算机图形学领域的Python用户略有增加,为13%,而2018年为9%。
对于“您使用Python做什么?”这个问题,还有一个开放式的文本框,下面是出现最多的回复:
API、人工智能、天文学、自动化、后端、生物信息学、区块链、机器人、CLI应用程序、云、计算机视觉、密码学、网络安全、数据工程、数据挖掘/管道/处理/可视化、深度学习、Discord机器人、工程、企业应用程序(ERP)、道德黑客、ETL、财务软件、有趣、GIS、黑客行为、家居自动化、图像处理、物联网、微服务、音乐、自然语言处理、测试、物理模拟、量子计算、研究、机器人技术、科学/科学计算、服务器、交易。
因此,可以得出结论,Python应用非常广泛。
调查对象:以Python为主语言
调查对象:以Python为第二语言
总体情况
在参与数据分析和机器学习的人中,只有33%的人认为自己是数据科学家。
虽然Python 2已经不再维护,但仍然有10%的受访者在积极地使用它。
在Python 2的用户中,Web开发占了45%,DevOps/系统管理/编写自动化脚本占41%,具有6年以上编程经验的专业人员的比例是Python 3用户的两倍。
尽管数据分析在Python开发人员中更普遍,但有趣的是,在使用Python 2的开发人员中,数据分析的开发人员占比低于Web开发人员的占比。这可能是因为,在数据分析领域,Python是近年来才开始变得越来越受欢迎,而Web开发是一个更加成熟的领域,部分Web开发人员需要维护大量的遗留代码。
与Python 3的42%相比,使用Python 2的开发人员从事机器学习工作的比例要低得多,这可能是因为这是一个快速发展的领域。
Python 3的用户有超过一半使用Python 3.7,这使得它成为2019年底最流行的Python版本。
Virtualenv仍然是Python环境隔离最流行的方法,尽管还有其他许多有趣的替代方案。与此同时,Vagrant/虚拟机变得越来越不受欢迎。自2018年以来,它们的占比已经降低了3个百分点。
本节重点介绍Python开发人员使用的各种流行的Python框架、库和技术。
在那些没有参与Web开发的人中,50%的受访者使用了某种Web框架。其中,Flask(32%)和Django(21%)排在前两位。73%的Web开发人员(主要从事Web开发)使用Django,61%的Web开发人员使用Flask。
NumPy是最流行的数据科学框架,有63%的Python开发人员在使用,其次是Pandas,有55%的开发人员在使用。
在以前的调查中,没有PyTorch这个选项,但是它非常流行,有15%的Python开发人员在使用。
对于这个问题,我们列出了一些通用的Python库。毫不奇怪,超过一半的Python用户使用Requests。Pillow也很受欢迎。五分之一的Python用户使用asyncio。
对于这个问题,我们提供了一个Python单元测试库的列表。几乎有一半的Python用户使用Pytest。它甚至比unittest更受欢迎,而后者是Python标准库的一部分。
SQLAlchemy和Django ORM是两种最流行的ORM,这也反映了排名前两位的Web开发框架Flask和Django的受欢迎程度。
自2018年以来,谷歌云平台使用量增长了2个百分点,微软Azure增长了4个百分点,而DigitalOcean和Heroku的份额有所下降。
除了上面几种流行的云平台之外,OpenStack占比6%,Linode占比5%,OpenShift占比3%,Rackspace占比1%。8%的受访者还提到了其他上面未列出的云平台,其中得票最多的是OVH、Vultr、Hetzner和Scaleway。
在容器中运行代码变得越来越流行(2019年为47%,2018年为40%),并且已经超过了在虚拟机中运行代码。
自2018年以来,在容器中进行面向云的开发受欢迎程度上升了6个百分点,而虚拟机的受欢迎程度略有下降,减少了2个百分点。
随着容器技术的成熟,它的受欢迎程度有了明显的提高。现在,在许多情况下,容器技术都被用来代替虚拟机进行面向云的开发。尽管虚拟机的使用有所减少,但这两种技术都会继续发挥其关键作用。
在Python开发人员中,Linux是最流行的操作系统——将近三分之二的开发人员在某种程度上使用Linux。
与前一年相比,Jenkins/Hudson和Travis CI的份额有所下降,而Gitlab CI几乎达到与Jenkins相同的覆盖率,后者是最受欢迎的选项。
为了找出最流行的编辑器和IDE,我们提了一个单选题:“您在当前的Python开发中使用的主要编辑器是什么?”在2019年,得票数不足0.5%的选项被合并到Other选项下。
在Python开发中,最流行的工具是PyCharm和VScode。PyCharm社区版和专业版的合计占比为33%。VScode也经历了快速的增长。2017年为7%,2019年达到24%。
几乎所有的Python开发人员都在他们的IDE或编辑器中使用版本控制系统、自动补全和代码重构等特性。
如果读者想要自己分析结果,可以下载做过匿名处理的调查反馈,看看你能了解到什么!在推特上分享你的发现和见解时,请添加#pythondevsurvey标签及@jetbrains和@ThePSF。
在分析这些数据之前,请注意:
我们也非常乐意接受任何与这个调查相关的建议和反馈,这样,我们下次可以做得更好。如果您对本次调查有任何问题或对未来的调查有任何建议,请通过surveys@jetbrains.com或psf@python.org与我们联系。
原文链接:
领取专属 10元无门槛券
私享最新 技术干货