Python开发者年度调研,结果出乎意料!
来源商业新知网,原标题:Python开发者年度调研:一半Python用户也用JS,2/3选择Linux系统
作为高级编程语言,Python的受欢迎程度近几年一直在往 上涨。每年,Python官方都会针对开发者社区做一次年度报告,统计当年的发展情况,并发布调研报告。
今年也不例外,有超过150多个国家的2万多名开发人员加入了这场深入调查,刚刚发布的报告通过7个角度对Python的使用现状、趋势与未来进行了解读。
以下是几个最新的趋势:
1、使用Python作为主语言的开发人员中,有一半的用户也使用JavaScript。Python也经常混搭HTML/CSS,Bash/Shell,SQL,C/C++和Java一起使用。
2、Python用于数据分析比用于Web开发更广泛,数据分析占比58%。
3、84%的用户已经使用Python3,Python2的比例仅为16%。2017年Python3的使用率只有75%。
4、Flask和Django是Web开发人员中流行度最高的框架,两者份额相差无几,但都甩其他Python Web框架“好几条街”。
5、NumPy,Pandas,Matplotlib和SciPy是最受欢迎的数据科学框架和库。机器学习专用的库如SciKit-Learn,TensorFlow,Keras等也很受欢迎。
6、AWS是Python开发人员最受欢迎的云平台,其次才是Google Cloud Platform,Heroku,DigitalOcean 和Microsoft Azure。
7、在2018年,运维开发者数量明显增加(与2017年相比增加了8个百分点)。在使用Python作为辅助语言的Python用户中,运维已经取代了Web开发成为第一名。
8、PyCharm的专业版和社区版是最受欢迎的Python 开发工具。VS Code已从2017年的7%增加到2018年的16%,成为Python 开发的第二大最受欢迎的编辑器。
9、几乎2/3的Python开发人员选择Linux作为他们开发时的操作系统。
一起来看详情。
84%的Python用户将其作为主语言
Python在开发者中的受欢迎程度确实不假。
关于是否把Python作为第一编程语言的问题,官方调查显示:在调查中,84%的Python用户使用Python作为他们的第一编程语言,16%作为第二语言。这与2017年的数据分布略有不同,当年的情况是:79%用户使用Python作为主语言,21%作为第二语言。
使用Python的编程人员,有一半的人也同时使用JavaScript。从上图还可以看出,2018年的数据和2017年的数据相差无几。一些有趣的现象是:Shell从2017年的36%增长到2018年的45%,Go和SQL都增长了2%,而C/C++,Java和C#等语言的占比减少了。
更多用户使用Python做数据分析
你是出于什么目的使用Python?
仅出于个人、教学和副业目的的比重和工作需要所占的比重相差不多,分别为21%、19%。占比最多的是是那些工作和个人目的兼顾的用户人群。
那么多数用户用Python来做什么呢?
统计显示,数据分析成为了使用者最常用Python的目的,web开发已然失去了霸主地位,虽然,份额从17年的49%上升到到17年的52%,但是增长幅度显然不如一年8个百分点的数据分析。接下来的排名分别是:运维/系统管理/自动脚本、机器学习、网页解析和爬虫、软件测试/自动化测试、教学目的、软件原型、网络编程、桌面开发、电脑绘图、嵌入式开发、游戏开发、移动端开发、多媒体应用开发、其他
关于你用Python做什么,还有个单选题,在这个问题中,受访用户只能选择一个选项。乍一看,Web开发27%的份额占据老大的地位,完虐数据分析的17%。但是,别忘了,数据分析和机器学习加起来可以大致看成“数据科学”,这一领域有28%的份额。
Python3的用户占比达84%
如上,Python3的使用率占84%,Python2的使用率占比16%。在2017年,这组数据是75%vs25%。
值得一提的是,Python2的下降,是因为它不再积极开发、没有获得新功能,并且其维护将会在2020年停止。
做数据分析的用户,有90%用的是Python3,web有82%,运维则有81%。
PYTHON 框架、库和技术:Flask最受欢迎
WEB 框架
与上年相比,Flask的使用量增长了15个百分点,所以,Flask 已成为2018年最受欢迎的Web框架。当然,也有45%的受访者(2017年为41%)选择了Django。
数据科学框架和库
根据统计,最流行的数据科学框架和库是:NumPy,Pandas,Matplotlib和SciPy。机器学习领域的库,如Scikit-Learn,TensorFlow,Keras等,也非常受欢迎,这与机器学习越来越流行有关。
通用的框架和库
上面是通用的Python库排名。超过一半的Python用户使用了Requests。Pillow也很受欢迎。五分之一的Python用户使用了scrapy。
云平台
55%使用云平台的Python 用户更喜欢AWS。Google Cloud Platform 排在第二位,其次是Heroku,DigitalOcean 和Microsoft Azure。大约三分之一的受访者不使用任何云平台。
除此之外,OpenStack和Linode各占6%,OpenShift占3%,Rackspace占2%,相对来说,这些平台比较小众了一些。
开发工具:三分之二的受访者选择Linux
操作系统
根据统计,近2/3的受访者选择Linux作为他们的开发环境操作系统。
当然,根据官方说法,对于这个问题,允许多选。所以无法得到系统流行度的结论。
测试框架
单元测试框架pytest排第一,然后是unittest。其他单元测试框架和前两个差距有点大。
最后,有35%的Python用户不使用任何测试框架,可能是没有测试他们的代码吧!
数据库
大多数人使用免费或开源数据库,如PostgreSQL,MySQL 或SQLite。
MongoDB和Redis 等非关系型数据库也非常受欢迎,因为非常多的Python用户正在进行某种形式的机器学习以及数据科学。
大数据工具
机器学习工程师更有可能使用大数据分析工具,因此76%的受访者没有选择任何工具。据统计,Spark以12%的份额占据了第一名,紧随其后的是Hadoop和Kafka。
编辑器和IDE
PyCharm是最受欢迎的Python开发工具,PyCharm 专业版和社区版的合计份额为35%。
有趣的是,VS Code从2017年的7%上升到2018年的16%,成为第二个最受欢迎的Python开发编辑器。很可能是因为VS Code的快速增长,许多其他编辑器的用户份额减少了。
Python开发时使用的特性
工具和功能的受欢迎程度显而易见:版本控制、代码自动补全、代码重构、编写单元测试以及使用Python 项目的虚拟环境都是必不可少的功能。
据官方说法,2018年受访者中学生较少、经验丰富的开发人员较多,只能得出结论:在专业团队中工作的人越长,他们拥有的经验越多,他们使用的工具和专业技术就越多。
工作人数增加,学生用户减少
职业状态
超过一半的Python用户全职工作,19%是学生,13%是个体经营或自由职业者。与2017年相比,2018年学生人数明显减少,就业人数也更多。
职业角色
这是个多选题,受访者可以选择多个工作角色,所以总数大于100%。根据统计大约3/4的人是开发人员,几乎1/5的人是数据分析师、架构师或团队负责人。其他项中占据12%,里面包括数据科学家、运维、研究员和教师等。
工作经验:有25%的用户,工作11年以上
年龄范围:年龄在21~29岁之间的用户最多。30岁以上的也占比1/3
上图不适合Python全部用户的分布图,而是受访者的分布图,官方说法,此次调查涉及150个国家,2万多开发人员,其中21%生活在美国,中国受访者只占了4%。
公司所属行业:在“其他”选项中最常列出的行业是零售业,能源业和媒体业。
另外,还有几个关于公司的统计。
团队规模
Python开发者年度调研,结果出乎意料!的更多相关文章
- 2018 Python开发者大调查:Python和JavaScript最配?
在2018年秋季,Python软件基金会与JetBrains发起了年度Python开发者调查. 报告的目的是寻找Python领域的新趋势,帮助开发者深入了解2018年Python开发者的现状. 该报告 ...
- 2016 年 Python 开发者调查结果
1.在团队中工作 vs 独立工作 有趣的是,半数的受访者大部分时间在团队中工作,而另外半数的受访者则独立的做项目. 在公司中工作 vs 独立从事自己的项目 大约80%的受访者告诉我们,他们在公司里面工 ...
- Github上Python开发者应该关心的Repo
carbaugh/lice lice : Generate license files for your projects 一个用来为你的项目生成许可证的工具.这下可方便了,不用手工的去修改了! co ...
- Python开发者须知 —— Bottle框架常见的几个坑
Bottle是一个小巧实用的python框架,整个框架只有一个几十K的文件,但却包含了路径映射.模板.简单的数据库访问等web框架组件,而且语法简单,部署方便,很受python开发者的青睐.Pytho ...
- Python开发者最常犯的10个错误
Python是一门简单易学的编程语言,语法简洁而清晰,并且拥有丰富和强大的类库.与其它大多数程序设计语言使用大括号不一样 ,它使用缩进来定义语句块. 在平时的工作中,Python开发者很容易犯一些小错 ...
- 【译】JavaScript 开发者年度调查报告
截至目前有超过了 5000 人参与了(该次调查),准确的说是 5350 人.我迫不及待的想要和大家分享一下这次调查的细节.在分享之前我想要感谢参与调查的每一个人.这是 JavaScript 社区一个伟 ...
- PyConChina2016 北京站 献给Python开发者
开源编程语言Python近年来在互联网.游戏.云计算.大数据.运维.企业软件等领域有非常多的应用.今天小编就为大家推荐一场Python开发者的盛会:PyConChina2016(北京)! PyCon大 ...
- 强大的jupyter,python开发者的福音
jupyter是一种交互式计算和开发环境的笔记,ipython命令行比原生的python命令行更加友好和高效,还可以运行web版的界面,支持多语言,输出图形.音频.视频等功能. 一.安装 pip3 i ...
- Python 开发者在迁移到 Go(lang) 时需要知道哪些事?
[编者按]本文最早由 Repustate 发布,主要介绍将代码迁移至 Go(lang) 时的注意事项.文章系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文. 这是一篇讲述将大块 Pyth ...
随机推荐
- c# 程序只能运行一次(多次运行只能打开同一个程序)
转自:https://social.msdn.microsoft.com/Forums/zh-CN/6398fb10-ecc2-4c03-ab25-d03544f5fcc9/2291420309357 ...
- Python 标准库笔记(1) — String模块
原文出处: j_hao104 String模块包含大量实用常量和类,以及一些过时的遗留功能,并还可用作字符串操作. 1. 常用方法 常用方法 描述 str.capitalize() 把字符串的首字母大 ...
- webAPP如何实现移动端拍照上传(Vue组件示例)?
摘要:使用HTML5编写移动Web应用,主要是为了尝试一下“一套代码多处运行”,一个webapp几乎可以不加修改的运行在PC/Android/iOS等上面运行.但是写到现在觉得虽然这种方式弊大于利,不 ...
- CentOS install duplicity
yum -y updateyum -y install epel-releaseyum -y install ncftp screen # Compilers and related tools:yu ...
- php验证地图坐标在某片坐标区域内
mysql空间查询并不太适合地图坐标,如果使用:http://www.cnblogs.com/tyjsjl/p/8760002.html的方式进行地图点坐标的查询就不好用了,于是直接使用php来进行地 ...
- C#-IniFiles文件配置连接数据库
第一步:创建一个INI文件放在程序下的bin下Debug下 第二步:添加一个类在程序中,进行读写操作 public class IniFiles { public string inipath; // ...
- rocketmq(三 java操作rocket API, rocketmq 幂等性)
JAVA操作rocketmq: 1.导入rocketmq所需要的依赖: <dependency> <groupId>com.alibaba.rocketmq</group ...
- Android屏幕亮度调节相关源码
如下代码内容是关于Android屏幕亮度调节相关的代码. public static boolean isAutoBrightness(ContentResolver aContentResolver ...
- OPC客户端开发问题总结
环境准备 采用MatrikonOPC做模拟服务器,注册 OPCDAAuto.dll组件 引用 Interop.OPCAutomation.dll组件.开始开发. 1..new OPCServer()- ...
- [UE4]虚幻引擎的C++环境安装
一.一般使用VS2017开发 二.需要勾选“使用C++的游戏开发”