2018 Python开发者大调查:Python和JavaScript最配?
在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作为开发操作系统。
具体报告内容如下:
主要开发语言or辅助开发语言
调查中,84%的python用户使用python作为他们的第一开发语言,16%的用户将其作为辅助开发语言。 在2017年,79%用户使用python作为第一语言,21%用户将其作为辅助开发语言。
除了python,其他语言使用情况。
根据调查显示:参与调研的python用户中有一半也使用javascript。 2018年的统计数据与2017年的结果非常相似。
用python是工作需要还是个人需要?
python使用目的
从数据中看到,2018年的报告中58%的用户用python进行数据分析,2017年这个数据是50%。机器学习也增长了7个百分点,web开发与前一年相比仅增加了2个百分点。
你使用python最多的领域是什么(单选)
该问题是单选,乍一看,web开发大幅领先(27%),大幅超过数据分析(17%)。但仔细观察后发现,机器学习增长了两个百分点,如果将机器学习和数据分析整合为“数据科学”,这个占比将会达到28%。
对比将python作为主要开发语言和辅助开发语言,web开发差距最大(29% vs 17%)。对于机器学习和数据分析来说,没有明显差别。
python3还是python2?
由于python2将于2020年停止更新维护,所以越来越的使用者迁移到了python3,从下图可以看出,有84%的用户使用了python3.
python安装和更新无锡人流手术费用 http://www.chnk120.com/
71%的受访者从python.org或os提供的包管理器(如apt和homebrew)安装python。 这与2017年的结果非常相似。
你使用以下工具隔离python开发环境吗?在开发或部署阶段隔离python环境已经是很长一段时间以来的最佳实践。 毫无疑问,pipenv和较低级别的virtualenv是创建和管理新的python环境的两个最常用工具。 令人惊讶的是,21%的python用户仍未接受这种做法与前一年相比,受访者中flask的使用量增长了15个百分点,今年flask已成为最受欢迎的web框架。 45%的受访者(2017年为41%)选择了django。
web框架
通用框架和库
超过一半的python用户使用了requests。 pillow也很受欢迎。
云平台
55%使用云平台的python用户更喜欢aws。google cloud platform排在第二位,其次是heroku,digitalocean和microsoft azure。大约三分之一的受访者不使用任何云解决方案。
数据库
大多数人使用免费或开源数据库,如postgresql,mysql或sqlite。由于大量的python用户正在进行某种形式的机器学习或数据工程,导致mongodb和redis等非关系型数据库也非常受欢迎。
大型数据工具更有可能被机器学习工程师使用,这就是为什么76%的受访者没有选择任何工具。
半数受访的python用户不使用任何ci(持续集成系统)解决方案。最受欢迎的三个ci解决方案是:jenkins, gitlab ci和travis。
配置管理方面,大部分python用户不使用配置管理工具。
涉及项目数量
17%的python用户只做一个项目,42%的用户同时做多个项目。