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与jsp关联最强

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

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

Python 作为主要语言

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

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.大部分的受访者每天使用他们的编辑器,大约五分之一每周甚至使用频率更低。

2016 年 Python 开发者调查结果的更多相关文章

  1. 2016中国VR开发者论坛第一期

    由VR界网和暴风魔镜联合举办的2016中国VR开发者论坛第一期已于3月2日下午5点在吉林动画学院圆满落幕,本次论坛云集了VR相关领域的精英,邀请了VR社交<极乐王国>.暴风魔镜.南京睿悦. ...

  2. Github上Python开发者应该关心的Repo

    carbaugh/lice lice : Generate license files for your projects 一个用来为你的项目生成许可证的工具.这下可方便了,不用手工的去修改了! co ...

  3. Python开发者须知 —— Bottle框架常见的几个坑

    Bottle是一个小巧实用的python框架,整个框架只有一个几十K的文件,但却包含了路径映射.模板.简单的数据库访问等web框架组件,而且语法简单,部署方便,很受python开发者的青睐.Pytho ...

  4. Python开发者最常犯的10个错误

    Python是一门简单易学的编程语言,语法简洁而清晰,并且拥有丰富和强大的类库.与其它大多数程序设计语言使用大括号不一样 ,它使用缩进来定义语句块. 在平时的工作中,Python开发者很容易犯一些小错 ...

  5. PyConChina2016 北京站 献给Python开发者

    开源编程语言Python近年来在互联网.游戏.云计算.大数据.运维.企业软件等领域有非常多的应用.今天小编就为大家推荐一场Python开发者的盛会:PyConChina2016(北京)! PyCon大 ...

  6. 强大的jupyter,python开发者的福音

    jupyter是一种交互式计算和开发环境的笔记,ipython命令行比原生的python命令行更加友好和高效,还可以运行web版的界面,支持多语言,输出图形.音频.视频等功能. 一.安装 pip3 i ...

  7. Kinect外包团队— 2016中国VR开发者论坛第一期

    由VR界网和暴风魔镜联合举办的2016中国VR开发者论坛第一期已于3月2日下午5点在吉林动画学院圆满落幕,本次论坛云集了VR相关领域的精英,邀请了VR社交<极乐王国>.暴风魔镜.南京睿悦. ...

  8. Python开发者年度调研,结果出乎意料!

    来源商业新知网,原标题:Python开发者年度调研:一半Python用户也用JS,2/3选择Linux系统 作为高级编程语言,Python的受欢迎程度近几年一直在往 上涨.每年,Python官方都会针 ...

  9. VR外包公司—2016中国VR开发者论坛第一期

    由VR界网和暴风魔镜联合举办的2016中国VR开发者论坛第一期已于3月2日下午5点在吉林动画学院圆满落幕,本次论坛云集了VR相关领域的精英,邀请了VR社交<极乐王国>.暴风魔镜.南京睿悦. ...

随机推荐

  1. RAID的简单介绍

    该文章全部复制转载于:http://blog.jobbole.com/83808/,只为做笔记供自己查看 简介 RAID是一个我们经常能见到的名词.但却因为很少能在实际环境中体验,所以很难对其原理 能 ...

  2. FastDFS搭建及java整合代码【转】

    FastDFS软件介绍 1.什么是FastDFS FastDFS是用C语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高 ...

  3. 神经网络dropout

    训练集上面,加一个bool型的开关 做预测的时候,不需要打开开关,而是所有的数乘以p, 实际工业界做的时候是: 在训练的时候都除以p,在做预测的时候什么时候都不用干

  4. GIT之旅【第一篇】

    初探git Linus Torvalds在2002年起,使用BitMover的版本控制软件BitKeeper管理Linux核心开发,而因为BitKeeper除商业付费版本,仅提供可免费使用但不允许修改 ...

  5. AOP 学习笔记

    代理是一个设计模式,提供了对目标对象另外的访问方式:即通过代理访问目标对象. 好处:可以在目标对象实现的基础上,增强额外的功能操作. Cglib 代理,也叫作 子类代理. JDK的动态代理有一个限制, ...

  6. 【USACO 1.2】Palindromic Squares

    进制转换,然后判断是否是回文 /******************************************* TASK: palsquare LANG: C++ Created Time: ...

  7. 【转】Handler学习笔记(一)

    一.Handler的定义: Handler主要接收子线程发送的数据, 并用此数据配合主线程更新UI,用来跟UI主线程交互用.比如可以用handler发送一个message,然后在handler的线程中 ...

  8. OPRNGL之渲染过程大概梳理

    将OPENGL绘制对象的过程类比为摄像机拍摄物体的过程 视图变换:对摄像机位置与朝向(还有朝上朝下)进行定义 模型变换:对物体的位置,旋转,缩放进行定义 以上是对摄像机和物体的两个基础定义 投影:对摄 ...

  9. AS技巧合集「调试技巧篇」

    转载:http://www.apkbus.com/forum.php?mod=viewthread&tid=254726&extra=page%3D2%26filter%3Dautho ...

  10. JVM学习笔记:虚拟机性能监控

    JDK中除了包含与开发密切相关的jar包外,还包含了很多非常实用的工具.在%JAVA_HOME%\bin\目录下面除了命令行工具外,还包括了几个强大的可视化工具.这些工具可以辅助我们开发.调试应用程序 ...