2016 年 Python 开发者调查

导读 JetBrains 公司在 2016 年组织了一次超过 1000 名Python开发者参与的调查,以洞察当前 Python 开发领域的真实面貌,发现最新趋势。本文摘编分享其中的一些调查成果。

JetBrains 的免责声明:

由于所使用的样本数量庞大,我们主要采用了自己的渠道去推动这项调查,而所使用的渠道会天然的吸引大量PyCharm用户分享。

为避免某些无法避免的误差,我们将不对不同代码编辑器的用户基数进行对比。

1.在团队中工作 vs 独立工作

有趣的是,半数的受访者大部分时间在团队中工作,而另外半数的受访者则独立的做项目。

在公司中工作 vs 独立从事自己的项目

大约80%的受访者告诉我们,他们在公司里面工作,而另外 20% 则选择了自己干。

综合前面两个问题的答案,我们可以得到一个有趣的结论:35%的公司内部开发者,大部分时间都在独立做项目。

这是非常巨大的。

同时,大约8%的受访者在团队中工作,但却不受雇于任何组织。

2.Python开发的类型

看起来,大部分 Python 开发者从事以下三种开发:Web(38%)、通用开发(22%)、科学类开发和数据分析(21%)。这和其他一些独立研究的结果相吻合,揭示了这么一个事实:科学类的 Python 开发者数量正在稳步增长,预计将会在可预见的未来达到Web的开发规模。

3.Python的使用

75%的受访者将Python视为他们的主要开发语言,反之,其他25%受访者则将其视为辅助开发语言。

将Python作为主要开发语言的开发者数量逐年递增,这表明Python正在成为越来越多开发者的开发语言选择。

Python 和其他语言共用的使用情况

将Python作为主要开发语言的开发者中有61%同时在使用JavaScript。这并不令人惊讶,说明Web开发是其最流行的开发领域。

渐次往下,对应使用Java和C/C++的开发者比例分别为27%和26%。有趣的是,16%的开发者将PHP视为他们的第二语言。

Python 作为主要语言

对于将Python作为第二语言的开发者而言,语言使用分布比例则与上述有轻微不同,使用JavaScript的少一些,而使用Java,C#以及PHP的更多。

Python 作为第二语言

4.Python 2 vs Python 3

我们得到的 Python 使用版本分布,完美吻合了外部调查以及我们自己 PyCharm 内部统计数据。60%正在使用Python 2,而Python 3的使用比例则为40%。

  • 在调查中,我们问到那种Python版本是最常使用的。
  • 在我们的内部统计中出现了版本交叉使用的情况,也就是一个人同时使用多个Python版本。

基于Python 3的开发者呈上升趋势,我们期待能在最近的将来超过Python 2。

下面是我们基于多方面因素做出的关于Python 2和Python 3的相对流行程度调查:

注:基于对Dan Stromberg和bru的博客调查得出的2013、2014年的数据点已经从调查中移除。

对于2016年的预测基于线性回归。预测值得可信区间为30%-68(0.95 CI)。

5. Python的框架、库

Django是Python开发者最常使用的框架。大家对此无需惊讶,因为Web的开发在Python使用者中是如此流行。

有趣的是,43%的受访者正在使用IPython,这清楚的表明,它不止被用于科学类目的,在通用软件开发中同样如此。

相当多的受访者也将Flask视为他们的框架选择。

科学类包的应用

科学类包的应用人群超过了36%,例如anaconda、numpy,、matplotlib以及其他。这和开发类型的结果相吻合(21% Python开发者正在从事科学类开发)。

显而易见,除了被科学类开发用到之外,科学类的包同样会用到部分软件开发类型中,如web开发、数据分析。

6.Python开发的工具和特征

最有趣的问题之一就是让经常使用Python的开发者指出他们最常用的工具以及特性。代码自动补全、代码重构、数据库以及VCS的使用时最常被提到的。

其他比较常用的特性包括为Python工程做测试、虚拟环境下使用以及Python代码的调试、整洁等。

经常使用的特性和工具

不常使用的特性和工具

编辑器层面的差异性

我们发现了使用PyCharm和其他编辑器之间的巨大差异。

举例而言,Pycharm用户使用自动补全功能的比例达到了86%,而使用其他编辑器的该比例仅为60%。PyCharm用户更加经常使用调试器、代码重构以及在虚拟环境下使用。

只在“运行/调试 或远程编辑代码”的使用中,使用其他编辑器比使用PyCharm的用户更加经常,比例分为为32%,23%。

经常使用自动补全的用户

远程编辑代码的用户

7.编辑器使用的频率

我们的调查表明大部分的受访者每天使用他们的编辑器。只有16%的受访者每周使用,不到5%的人使用频率更低。

8.关键点

1.三分之一的公司内使用Python的开发者大部分时间独立的做项目。同时,在不服务于任何组织的受访者中,只有8%的比例是参与团队开发。

2.大部分的Python开发者从事以下三种类型的开发:Web开发(38%)、通用开发(22%)以及科学类开发和数据分析(21%)。

3.超过半数都在使用Python开发者最常使用的框架是Django,IPython以43%的比例紧随其后。超过三分之一的开发者在使用科学类的包,如anaconda、matplotlib 以及其他,这和开发类型的统计数据吻合。

4.四分之三的受访者将Python视为他们的主要开发语言,另外四分之一则将其视为辅助性语言。不断增长的使用者数量表明Python正在成为越来越多开发者的选择。

5.以Python作为主要语言的开发者中,61%的人同时在使用JavaScript。这和以Python作为辅助性语言的统计细节有细微的不同,使用JavaScript的人更少,而使用Java、C#以及PHP的更多。

6.Python 2 和 Python 3 的市场比例分别为60%、40%,后者数量在不断增长,且有望在2016-2017年度超过前者。

7.代码自动补全、代码重构以及数据库、VCS的使用在Python开发者中最为流行,其他常用的特性和工具还包括测试、虚拟环境下使用以及代码调试、整洁(lint)等。

8.大部分的受访者每天使用他们的编辑器,大约五分之一每周甚至使用频率更低。

原文链接:http://top.jobbole.com/35778/

原文发布于微信公众号 - CDA数据分析师(cdacdacda)

原文发表时间:2016-11-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据文摘

UE4: 学习虚幻引擎4的16条准则

71540
来自专栏腾讯云技术沙龙

陈新宇:CKafka在人脸识别PAAS中的应用

我叫陈新宇,在格灵深瞳负责数据流的研发,首先特别感谢如今老师,他们把Kafka一个优秀的消息中间件写出来,也感谢腾讯云做了调优工作,现在就该到我们这些做应用的人...

1.1K50
来自专栏技术翻译

18个面向开发人员的机器学习平台

机器学习平台不是未来的潮流。它现在正在发生。开发人员需要知道如何以及何时利用他们的力量。使用像Filestack这样的合适工具在ML环境中工作可以使开发人员更容...

27700
来自专栏司想君

人工智能时代,前端工程师能做什么?

前端工程师在人工智能的团队到底能做什么,能体现怎么的价值?对此,可以先下图的一个总结,然后再会逐条结合实际以及业界的发展情况做一些分析

21240
来自专栏软件测试经验与教训

如何评审测试用例

2. 用例评审时按着用例一条条讲,讲到最后自己都不知道该说什么了,好像大家都挺懵逼的?

17110

不应面向对象地针对业务行为建立模型!

在过去的几年中,我看到许多项目将几乎任何类型的业务需求都喜欢建立与需求原因无关的技术对象模型(后面可能简称对象模型)。在很多情况下,针对技术对象建立业务需求模型...

15520
来自专栏喔家ArchiSelf

全栈必备 敏捷估点

所有这些问题,都会指向一件事————研发中的估点。估点是计划的基础,不论你关注还是不关注它,它都在那里。估点不是拍脑袋,是一种对事件的客观描述方式。通过统计学可...

11120
来自专栏人工智能头条

【CTO讲堂】如何用Python一门语言通吃高性能并发、GPU计算和深度学习

16330
来自专栏云计算D1net

有助于机器学习的7个云计算服务

用于机器学习、人工智能、数据分析的基于云计算的工具日前增多。其中的一些应用是在基于云计算的文档编辑和电子邮件,技术人员可以通过各种设备登录中央存储库,并在远程位...

24850
来自专栏ionic3+

【Appetite】ionic3实录(一)前言,刚好遇见你

要想掌握一门技术,最好亲自动手做点东西,只有在解决问题的过程中,才能思考问题,进而加深技术的掌握,所以在写ionic3相关内容时,我就一早留了个【示例篇】,只是...

11450

扫码关注云+社区

领取腾讯云代金券