2019 年 Python 开发者调查结果发布:Linux 最受欢迎

2020年05月09日

近日,Python 官方发布了 2019 年 Python 开发者调查结果。该调查由 Python 软件基金会和 JetBrains 在 2019 年 11 月进行,来自 150 多个国家/地区的 2.4 万名开发者曾参与其中。

下面一起来看看主要的调查内容:

对 Python 的使用

  • 84% 的受访者将 Python 作为主要语言
  • 最常与 Python 一起使用的语言是 JavaScript,占比 43%
  • Python 更多地被用于数据分析、Web 开发,和机器学习
  • 90% 的受访者已经开始使用 Python 3(其中超过一半的人使用 Python 3.7),仍有 10% 停留在 Python 2

与数据分析在 Python 3 用户中最受欢迎不同,对使用 Python 2 的受访者来说,最大用途是 Web 开发(占 45%)和 DevOps/系统管理/编写自动化脚本(占 41%)。或许是因为数据科学才开始流行起来,而 Web 开发相对来说是一个更为成熟的领域,一些 Web 开发人员需要继续使用 Python 2 来维护遗留代码。

框架和库

  • 受访者最常使用的 Web 框架分别是 Flask 和 Django

在不参与 Web 开发的人群中,有 50% 的受访者会使用某种 Web 框架,其中 Flask(32%)和 Django(21%)最受欢迎。而在从事 Web 开发的受访者中,Django 使用率最高(73%),其次是 Flask(61%)。

  • NumPy(63%)和 Pandas(55%)是最受欢迎的数据科学框架
  • 超过一半的受访者都在使用 Requests,Pillow 是使用率第二高的通用库
  • Pytest 是使用人数最多的单元测试框架

技术与云

  • 两种最受欢迎​​的 ORM 是 SQLAlchemy 和 Django ORM,这恰好反映了 Flask 和 Django 的流行
  • 数据库的受欢迎程度分别为:PostgreSQL、MySQL、SQLite、MangoDB、Redis
  • AWS 和 Google Cloud Platform 仍占领云服务的巨头地位

三大巨头之一的 Microsoft Azure 在本调查中排名第五,相比去年上涨了 4 个百分点。除了以上流行的云平台外,OpenStack(6%)、Linode(5%)、OpenShift(3%)和 Rackspace(1%)等也获得了小额市场。

  • 在容器中运行代码变得越来越流行(今年为 47%,去年为 40%),占比已经超过在虚拟机中运行代码,但两种技术同样都发挥着重要作用

开发工具

  • 超过 2/3 的受访者使用 Linux 进行开发

  • Jenkins/Hudson 仍是使用率最高的 CI 系统,但与去年相比有所下降,Gitlab CI 追了上来,它的覆盖率几乎与 Jenkins 持平
  • 受访者最喜欢的 Python 开发工具是 PyCharm 和 VScode,接着是 Vim。其中 VScode 所占份额经历了快速增长,从 2017 年的 7% 到 2019 年的 24%

完整调查报告:https://www.jetbrains.com/lp/python-developers-survey-2019/#PythonVersions

展开阅读全文
6 收藏
分享
加载中
最新评论 (7)
希望python实现如下功能:
1:加入 static 关键字,定义变量和函数时能直接指定为静态类型,而不仅仅是类型注解这么鸡肋的东西;
2:添加常量;
3:提高性能,比如加入JIT/干掉GIL;
4:添加传递类似指针类型的参数,省的函数返回值再重新赋值,多香;
2020-05-09 09:49
0
回复
举报
你说的这些,连PHP这么low的语言都实现了,Python居然还在路上.
2020-05-10 11:30
0
回复
举报
php实现了静态类型?
2020-05-10 14:29
0
回复
举报
static静态成员变量和方法,PHP不早就支持了么?
如果说的是PHP程序的静态分析,php -l 没有这个功能。
但是可以用PHPStan这种第三方工具,虽然不完美。
事实上,动态语言就不存在完美的静态分析工具。
2020-05-10 22:31
0
回复
举报
大哥,你是程序写多了,看不懂汉字吗?我说的是定义变量的时候直接定义成静态类型,函数参数直接定义成静态类型:
static a:int=1
def f(static a:int, static b:int)->static int:
return a+b

这样能理解?
2020-05-11 07:51
0
回复
举报
我一直在说定义成静态类型,压根没体静态方法,补充一下,你知道python有 @staticmethod ?
2020-05-11 07:56
0
回复
举报
一看你说Python没有static关键字,条件反射就是不支持静态成员,没想到Python还挺个性,用@staticmethod这种注解的方式生命静态方法.
2020-05-11 09:46
0
回复
举报
更多评论
7 评论
6 收藏
分享
返回顶部
顶部