2018 Python开发者大调查:Python和JavaScript最配?
编辑 | suiling
出品 | Python大本营(ID:pythonnews)
在2018年秋季,Python软件基金会与JetBrains发起了年度Python开发者调查。 报告的目的是寻找Python领域的新趋势,帮助开发者深入了解2018年Python开发者的现状。
该报告共统计了来自150多个不同国家和地区的超过两万名开发人员的Python使用情况。Python大本营对该报告进行了翻译。
本报告要点如下:
Python 3的渗透率快速增长至84%(2017年为75%),仅有16%的用户使用Python 2作为主要解释器。
越来越多开发者使用Python进行数据分析,该比例从2017年的50%上升至2018年的58%,比使用Python进行Web开发更受欢迎。
将Python作为第一开发语言的开发者中,有半数也使用JavaScript进行开发。Python也经常和HTML/CSS, Bash/Shell, SQL, C/C++,以及Java一起使用。
Web开发者最喜欢的框架是Flask和Django,两者占比均为45%,远远超过了其他Python Web开发框架。
NumPy, Pandas, Matplotlib和SciPy是最受欢迎的数据科学框架和库。专门针对机器学习的库,比如SciKit-Learn, TensorFlow, Keras等也很受欢迎。
AWS是Python开发者最喜欢的云平台,然后是Google Cloud Platform, Heroku, DigitalOcean和Microsoft Azure平台。
2018年受访的开发者中,运维人员的数量明显增加(与2017年相比增加了8个百分点)。在使用Python作为次要语言的开发者中,运维开发已经超过了Web开发。
PyCharm的两个版本是最受欢迎Python开发工具。有趣的是,VS Code的使用率从2017年的7%上升至2018年的16%,成为Python开发第二最受欢迎的编辑器。其他受欢迎的编辑器还有Vim, Sublime以及Jupyter Notebook。
2/3的Python开发者使用Linux作为开发操作系统。
具体报告内容如下:
Python使用概况
主要开发语言or辅助开发语言
调查中,84%的Python用户使用Python作为他们的第一开发语言,16%的用户将其作为辅助开发语言。 在2017年,79%用户使用Python作为第一语言,21%用户将其作为辅助开发语言。
除了Python,其他语言使用情况。
根据调查显示:参与调研的Python用户中有一半也使用JavaScript。 2018年的统计数据与2017年的结果非常相似。
Python开发类型
用Python是工作需要还是个人需要?
Python使用目的
从数据中看到,2018年的报告中58%的用户用Python进行数据分析,2017年这个数据是50%。机器学习也增长了7个百分点,Web开发与前一年相比仅增加了2个百分点。
你参与过以下哪些领域的开发?
我们可以清楚地看到,Python游戏开发最主要是作为业余爱好,而Web开发、机器学习、数据分析和软件测试主要用在职业开发方面。
你使用Python最多的领域是什么(单选)
该问题是单选,乍一看,Web开发大幅领先(27%),大幅超过数据分析(17%)。但仔细观察后发现,机器学习增长了两个百分点,如果将机器学习和数据分析整合为“数据科学”,这个占比将会达到28%。
对比将Python作为主要开发语言和辅助开发语言,web开发差距最大(29% vs 17%)。对于机器学习和数据分析来说,没有明显差别。
Python3渗透率
Python3还是Python2?
由于Python2将于2020年停止更新维护,所以越来越的使用者迁移到了Python3,从下图可以看出,有84%的用户使用了Python3.
Python3渗透率
在调查中发现,82%的Web开发人员使用Python 3,而在数据科学这一领域Python3的渗透率高达90%。
原因可能是Web开发人员仍有大量遗留代码需要维护,而借助于人工智能的热度,数据分析和机器学习人员不断加入了Python 3的阵营。
Python安装和更新
71%的受访者从python.org或OS提供的包管理器(如APT和Homebrew)安装Python。 这与2017年的结果非常相似。
你使用以下工具隔离Python开发环境吗?
在开发或部署阶段隔离Python环境已经是很长一段时间以来的最佳实践。 毫无疑问,pipenv和较低级别的virtualenv是创建和管理新的Python环境的两个最常用工具。 令人惊讶的是,21%的Python用户仍未接受这种做法。
Python框架、库和技术
与前一年相比,受访者中Flask的使用量增长了15个百分点,今年Flask已成为最受欢迎的Web框架。 45%的受访者(2017年为41%)选择了Django。
Web框架
数据科学框架和库
最流行的数据科学框架和库是:NumPy,Pandas,Matplotlib和SciPy。 特定于机器学习的库,如SciKit-Learn,TensorFlow,Keras等也非常受欢迎,这与机器学习领域的快速发展密切相关。
通用框架和库
超过一半的Python用户使用了Requests。 Pillow也很受欢迎。
云平台
55%使用云平台的Python用户更喜欢AWS。Google Cloud Platform排在第二位,其次是Heroku,DigitalOcean和Microsoft Azure。大约三分之一的受访者不使用任何云解决方案。
如何在云平台运行代码? (多选)
如何在云平台上进行开发?
开发工具
操作系统
近三分之二的受访者选择Linux作为他们的开发环境操作系统。
测试框架
最受欢迎的单元测试框架是pytest,然后是unittest。 其他单元测试框架受欢迎程度一般。 不过35%的Python用户不使用任何测试框架,并且可能没有测试他们的代码。 在上边“隔离Python开发环境”部分中,我们发现大约五分之一的Python用户不使用Python隔离。
数据库
大多数人使用免费或开源数据库,如PostgreSQL,MySQL或SQLite。由于大量的Python用户正在进行某种形式的机器学习或数据工程,导致MongoDB和Redis等非关系型数据库也非常受欢迎。
ORM
两个最流行的ORM是SQLAlchemy和Django ORM,它们与两个领先的Web开发框架:Flask和Django的流行度相匹配。
大型数据工具更有可能被机器学习工程师使用,这就是为什么76%的受访者没有选择任何工具。
半数受访的Python用户不使用任何CI(持续集成系统)解决方案。最受欢迎的三个CI解决方案是:Jenkins, Gitlab CI和Travis。
配置管理方面,大部分Python用户不使用配置管理工具。
编辑器和IDE
为了找到开发者们最喜欢的编辑器和IDE,我们将该问题设置成了单选。通过数据了解到,
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项目的虚拟环境都占据了最高点。
其他流行的工具和功能包括SQL数据库,调试和代码linting。 NoSQL数据库,Python分析器和代码覆盖工具使用最少。
开发者职业相关和使用情况
超过一半的Python用户是全职工作,19%是学生,13%是半自由或自由职业者。 与2017年相比,2018年受访用户中学生人数明显减少,就业人数更多。
工作角色
73%的受访用户是开发者或者程序员。12%的其他选项中,填写最多的是数据科学家、运维、研究者和教师。
涉及项目数量
17%的Python用户只做一个项目,42%的用户同时做多个项目。
团队开发还是独立开发?
团队规模
公司规模
受访Python用户公司的所属行业
IT经验
年龄分布
更多报告内容,请见报告原文
https://www.jetbrains.com/research/python-developers-survey-2018/
(本文为Python大本营翻译文章,转载请联系微信1092722531)
福利
公众号后台回复:2018Python,获取2018Python开源项目Top100整理资料!扫码添加小助手微信,回复:1,加入Python技术交流群。
推荐阅读: