一项关于Python的开发者调查显示,编程语言现在主要用于数据分析,取代了之前的第一个用例Web开发。

去年秋天,由Python软件基金会和开发人员工具供应商JetBrains进行,2018 Python开发者调查对来自150多个国家的2万多名开发人员进行了调查,得出了这一重要内容:“数据分析在Python用户中比Web开发更受欢迎,从2017年的50%增长到2018年的58%。“

对于报告中使用Python作为主要或次要编程语言的场景,上述数字是组合在一起的。在声称Python是他们的主要语言的受访者中,54%的人说去年Python是用于Web开发的,51%的人说Python是用于数据分析的(允许使用多种响应)。2018年,这一比例为59%,用于数据分析,56%用于网络开发。在使用Python作为辅助语言的Python开发人员中,DevOps已经超过了Web开发。

据报道,在数据开发人员中,NumPy,Pandas,Matplotlib和SciPy是最受欢迎的数据科学框架和库。 “机器学习专用库,如SciKit-Learn,TensorFlow,Keras等也很受欢迎,”该报告称。

数据科学框架和库(来源:Python软件基金会)

在Web阵营中,Flask和Django是最受欢迎的框架。 “拥有相同的份额(每个约45%),他们远远落后于其他Python Web框架,”报告称。

Web框架(来源:Python软件基金会)

在相关的开发人员工具中,不同场景的第一选择包括:

  • 测试框架:pytest(46%)
  • 数据库:PostgreSQL(44%)
  • 对象关系建模器(ORM):SQLAlchemy(34%)
  • 大数据工具:Apache Spark(12%)
  • 持续集成(CI)系统:Jenkins / Hudson(25%)
  • 配置管理:Ansible(20%)
  • 编辑和IDE:PyCharm专业版(20%)

说到前面提到的主要语言和次要语言的区别,报告说:“在我们的调查中,84%的Python用户使用Python作为他们的主要语言,而16%的用户使用的是次要语言。2017年,我们的分布略有不同:79%的人将Python作为主要语言,21%的人将其作为次要语言。”

调查还显示,在使用Python作为主要语言的开发人员中,大约一半的开发人员还使用JavaScript作为辅助语言选项。Python也经常与HTML/CSS、BASH/shell、SQL、C/C++和Java一起使用。

报告中列出的其他重要内容包括:

  • Python 3的采用率正在快速增长,已经达到84%,而Python 2仅被16%的Python用户用作主要的解释器。对于Python 3来说,这是一个巨大的普及,Python 3的受欢迎程度从2017年的75%大幅上升。。
  • AWS是Python开发人员最受欢迎的云平台,其次是Google Cloud Platform,Heroku,DigitalOcean和Microsoft Azure。
  • 在2018年,更多的受访者表示参与了DevOps(与2017年相比增加了8个百分点)。
  • PyCharm及其两个版本是最受欢迎的Python开发工具。有趣的是,VS Code从2017年的7%扩展到2018年的16%,使其成为Python开发的第二大最受欢迎的编辑器。其他流行的Python编辑器包括Vim,Sublime和Jupyter Notebook。
  • 令人惊讶的是,几乎三分之二的Python开发人员选择Linux作为他们的开发环境操作系统。

Python软件基金会表示,2018年调查的受访者群体是去年2017年初次调查的两倍多。

“与之前的调查非常相似,我们着手确定最新趋势,并深入了解Python开发的世界。”该基金会在2月5日的一篇博客文章中表示:“去年,来自150多个国家的2万多名开发人员参加了这次活动,帮助我们描绘出Python社区准确、最新的面貌。”

调查显示数据分析已取代Web开发成为第一用例的更多相关文章

  1. Spring+Maven+Dubbo+MyBatis+Linner+Handlebars—Web开发环境搭建

    本文主要分三部分,分别是:后台核心业务逻辑.桥梁辅助控制和前台显示页面. 本Web开发环境综合了多种工具,包括Maven包管理与编译工具.Dubbo分布式服务框架.MyBatis数据持久化工具.Lin ...

  2. 勤拂拭软件 java web 开发教程(1) - 开发环境搭建

    勤拂拭软件系列教程 之 Java Web开发之旅(1) Java Web开发环境搭建 1 前言 工作过程中,遇到不少朋友想要学习jsp开发,然而第一步都迈不出,连一个基本的环境都没有,试问,如何能够继 ...

  3. java web 开发教程(1) - 开发环境搭建

    勤拂拭软件系列教程 之 Java Web开发之旅(1) Java Web开发环境搭建 1 前言 工作过程中,遇到不少朋友想要学习jsp开发,然而第一步都迈不出,连一个基本的环境都没有,试问,如何能够继 ...

  4. 学习参考《Flask Web开发:基于Python的Web应用开发实战(第2版)》中文PDF+源代码

    在学习python Web开发时,我们会选择使用Django.flask等框架. 在学习flask时,推荐学习看看<Flask Web开发:基于Python的Web应用开发实战(第2版)> ...

  5. vs2015 无法连接到已配置的开发web服务器

    问题一:vs2015 无法连接到已配置的开发web服务器 最靠谱方法如下:(和防火墙开启无关联, 注册表增加什么键值无关联 , 缺失asp.net core.Dll文件无关联 ) 分析,因为前提是你的 ...

  6. XML与web开发-01- 在页面显示和 XML DOM 解析

    前言: 关于 xml 特点和基础知识,可以菜鸟教程进行学习:http://www.runoob.com/xml/xml-tutorial.html 本系列笔记,主要介绍 xml 在 web 开发时需要 ...

  7. VS提示无法连接到已配置的开发web服务器的解决方法

    VS2013每次启动项目调试好好的,今天出现了提示“提示无法连接到已配置的开发web服务器“,使用环境是本地IISExpress,操作系统为windows10,之前也出现过就是重启电脑又好了,这次是刚 ...

  8. 零基础学习Python web开发、Python爬虫、Python数据分析,从基础到项目实战!

    随着大数据和人工智能的发展,目前Python语言的上升趋势比较明显,而且由于Python语言简单易学,所以不少初学者往往也会选择Python作为入门语言. Python语言目前是IT行业内应用最为广泛 ...

  9. PHP开发人员对JAVA的WEB开发入门(初版-已废弃)

    最近准备对其他部门PHP开发的童鞋做一个对JAVA的培训.知己知彼,百战不殆,我要先了解点PHP,才能确认他们的基础,达到好的授课效果. PHP(原始为Personal Home Page的缩写,后正 ...

随机推荐

  1. 这些linux技巧大大提高你的工作效率

    前言 linux中的一些小技巧可以大大提高你的工作效率,本文就细数那些提高效率或者简单却有效的linux技巧. 命令编辑及光标移动 这里有很多快捷键可以帮我们修正自己的命令.接下来使用光标二字代替光标 ...

  2. PHP如何动态传入参数

    首先需要说明的是,URL写作/index.php/xx/b/c可以直接被index.php文件接受,而不用做任何额外的操作 但是如果需要在URL中隐藏index.php的话,才需要伪静态重写规则,将^ ...

  3. C 语言boolean 值判断

    printf("%d\n", !0);       1           1 printf("%d\n", !0);     #include <std ...

  4. 什么是AOP面向切面编程

    什么是AOP 连接地址:http://blog.csdn.net/moreevan/article/details/11977115/ AOP(Aspect-OrientedProgramming,面 ...

  5. node微信公众号开发--设置自定义菜单

    var request = require("request"); const querystring = require("querystring"); re ...

  6. Windows Server 2008服务器上测试几个站点,改完host居然没有生效

    Windows Server 2008服务器上测试几个站点,改完host居然没有生效看了下资料,估计是因为Dnscache这个服务引起的(DNS Client)于是从服务了把他禁用掉,果然host生效 ...

  7. 最新版 INSPINIA IN+ - WebApp Admin Theme v2.7.1,包含asp.net MVC5示例代码,做管理系统最佳的选择。

    下载地址:http://download.csdn.net/download/wulang1988/10039402 最新版 INSPINIA IN+ - WebApp Admin Theme v2. ...

  8. python-列表解析、字典解析、集合解析

    列表解析.字典解析.集合解析 列表解析 生成一个列表 nums = [1, 3, 9] list_gen = [num**2 for num in nums if x <= 5] # [1, 9 ...

  9. linux 标准输入输出 重定向

    背景: 屏幕打印不一定都是从标准输出来的,也包括标准错误输出流stderr中的信息 文件描述符定义(系统定义了12个) 0 标准输入 1 标准输出 2 标准错误   0 默认键盘输入 1,2默认从屏幕 ...

  10. opencv之模糊处理

    初学OpenCV的开发者很容易被OpenCV中各种滤波方法所困扰,不知道到底该用哪里一个来做滤波.表面原因看起来是因为OpenCV中各种滤波方式实在是太多太杂, 其背后原因是对各种滤波方法的应用场景认 ...