程序人生 - TIOBE 5 月编程语言榜单:Python 超越 Java 重回第二,Rust 崛起

简介: 程序人生 - TIOBE 5 月编程语言榜单:Python 超越 Java 重回第二,Rust 崛起

TIOBE 官方最新发布了 5 月的编程语言榜单,不妨一起来看一下本月榜单中又有哪些最新的变化呢?

Python 重回第二

和 4 月相比,本月榜单的 TOP 10 中变化最大的非 Python 与 Java 莫属。

现实来看,曾经的铁三角 Java、C、C++ 如今已被彻底瓦解,犹记得 2020 年 5 月,Java 被 C 超越后,于 11 月份再次被 Python 短暂碾压,一路跌到了第三位,虽然后来 Java 再次追上 Python,可还是无法拯救其下滑的趋势。

据最新的榜单显示,Python 以 0.13% 的差异再次领先 Java,位居第二,Java 排名第三。

面对市场份额一直在缩减的 Java,轻芒联合创始人、前豌豆荚技术负责人范怀宇在《2020-2021开发者大调查》中剖析道,“Kotlin 虽然在统计中总的比例不高,但在 Android 开发上进一步在取代 Java。Kotlin 作为另一个基于 JVM 的编程语言,一方面可以保持 Java 使用 JVM 稳定和高性能的好处,享用 JVM 已有的生态;另一方面,通过其更为灵活的语法特性,越来越广泛地被 Android 开发者使用,已然成为 Android 的首选编程语言,对于新参与 Android 的开发者而言,Kotlin 是更好的学习对象。”

因此,Java 一直处于下滑的趋势,也在情理之中。

与之形成鲜明对比且处于蒸蒸日上的 Python,TIOBE CEO Paul Jansen 评估道,“去年 11 月,Python 短暂地超越了 Java,位居 TIOBE 榜单的第二位。本月中,Python 再次成功上位,有理由相信它将在这一位置上待得更久。在未来半年内,Python 或许能成为 TIOBE 榜单上的第一名,因为 C(宛如 Java 一样)的流行度正在下降。”

被大厂拥抱的 Rust,属于它的时代已至!

至于 C 语言为何会不再受到重用?我们也从另一种编程语言 Rust 身上找到了答案。

在本月榜单中,Rust 从上个月的第 29 名上升到了本月的 24 名,其生态在各个科技大厂的支持下,也大有进入 TOP 20 的潜力。

不久前,Facebook 正式宣布加入 Rust 基金会,与其他成员共同负责 Rust 开源生态以及社区的运作和发展,与此同时,其承诺将进一步加大对 Rust 语言的采用。事实上,Facebook 是继 AWS、Google、华为、微软、Mozilla 后最新加入 Rust 基金会的成员,此前,很多科技公司早已深度地拥抱了 Rust。

凭借安全、高性能、可靠性和高生产率等特性,AWS 在众多产品中应用 Rust 的同时,不惜花重金聘用 Rust 编译器联合创始人 Felix Klock 来加码 Rust 的应用;Google 将其应用到了 Android 系统中以及基于此重新实现一些重要的安全组件;微软在寻求替代 C、C++ 语言之际,不仅将 Rust 整合到了 Azure 服务中,也正在用 Rust 来实现一种新的编程语言;就连 Linux 内核开发者也开始在 Linux 内核中添加 Rust 支持的 RFC......

Rust 下一步,未来可期。

其他编程语言排名

下面列出了完整的 21-50 名,因为是非官方发布的,所以可能存在遗漏:

第 51-100 名如下,由于它们之间的数值差异较小,仅以文本形式列出(按字母排序):

  • ActionScript, Arc, B4X, bc, Boo, C shell, CFML, Clojure, Common Lisp, Eiffel, Erlang, F#, Hack, Icon, IDL, Inform, Io, J, JScript.NET, Korn shell, Lasso, Maple, MEL, ML, MQL4, MUMPS, NATURAL, OCaml, OpenCL, OpenEdge ABL, Oz, PL/I, PostScript, Pure Data, Q, Racket, Ring, RPG, Scheme, Simulink, Smalltalk, SPARK, SPSS, Stata, Tcl, Vala/Genie, Verilog, XC, Xojo, Zig

Top 10 编程语言 TIOBE 指数走势(2002-2020)

历史排名(1986-2021)

注:以下排名位次取决于12个月的平均值。

编程语言“名人榜”(2003-2020)

【说明】

TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于全球技术工程师、课程和第三方供应商的数量,其中包括了流行的搜索引擎以及技术社区,如 Google、百度、维基百科、CSDN、必应、Hao 123 等等。具体的计算方式详见:https://www.tiobe.com/tiobe-index/programming-languages-definition/。请注意这个排行榜只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。

这个排行榜可以用来考察你的编程技能是否与时俱进,也可以在开发新系统时作为一个语言选择依据。

详细榜单信息可参考 TIOBE 官网:https://www.tiobe.com/tiobe-index

目录
相关文章
|
2月前
|
人工智能 Linux 开发工具
Python从零到一:手把手带你写出第一个实用程序
Python语法简洁易懂,适合编程新手入门。它广泛应用于人工智能、自动化办公、Web开发等领域。学习Python可快速搭建项目,拥有丰富库支持和强大社区资源。通过本教程,你将掌握基础语法、环境搭建、程序逻辑控制及实战项目开发,开启编程之旅。
193 0
|
10天前
|
设计模式 决策智能 Python
Python条件控制:让程序学会"思考"的魔法
本文深入浅出地讲解Python条件控制,从基础if语句到多分支、嵌套结构,再到简洁的三元表达式与Python 3.10新增的match-case模式匹配,结合电商折扣、会员等级、ATM系统等实战案例,全面掌握程序“智能决策”的核心逻辑。
162 0
|
4月前
|
PyTorch 算法框架/工具 C++
人工智能算法python程序运行环境安装步骤整理
本教程详细介绍Python与AI开发环境的配置步骤,涵盖软件下载、VS2017安装、Anaconda配置、PyCharm设置及组件安装等内容,适用于Windows系统,助你快速搭建开发环境。
|
5月前
|
人工智能 并行计算 开发者
CUDA重大更新:原生Python可直接编写高性能GPU程序
NVIDIA在2025年GTC大会上宣布CUDA并行计算平台正式支持原生Python编程,消除了Python开发者进入GPU加速领域的技术壁垒。这一突破通过重新设计CUDA开发模型,引入CUDA Core、cuPyNumeric、NVMath Python等核心组件,实现了Python与GPU加速的深度集成。开发者可直接用Python语法进行高性能并行计算,显著降低门槛,扩展CUDA生态,推动人工智能、科学计算等领域创新。此更新标志着CUDA向更包容的语言生态系统转型,未来还将支持Rust、Julia等语言。
376 3
CUDA重大更新:原生Python可直接编写高性能GPU程序
|
4月前
|
机器学习/深度学习 前端开发 API
python3如何使用QT编写基础的对话框程序
Qt与Python结合形成了PyQt/PySide,为桌面应用开发提供强大支持。通过简单安装PyQt5或PySide6,开发者可快速搭建跨平台GUI应用。本文从创建基础对话框入手,介绍布局管理、信号与槽机制、对话框模式及样式表美化等核心功能,并探讨模态窗口、事件驱动编程和资源打包等内容。最后,引导读者探索模型视图架构、多线程处理等进阶技术,逐步掌握用Python+Qt开发高效桌面应用的技能。
122 0
|
7月前
|
Python
[oeasy]python074_ai辅助编程_水果程序_fruits_apple_banana_加法_python之禅
本文回顾了从模块导入变量和函数的方法,并通过一个求和程序实例,讲解了Python中输入处理、类型转换及异常处理的应用。重点分析了“明了胜于晦涩”(Explicit is better than implicit)的Python之禅理念,强调代码应清晰明确。最后总结了加法运算程序的实现过程,并预告后续内容将深入探讨变量类型的隐式与显式问题。附有相关资源链接供进一步学习。
97 4
|
7月前
|
Java C语言
课时8:Java程序基本概念(标识符与关键字)
课时8介绍Java程序中的标识符与关键字。标识符由字母、数字、下划线和美元符号组成,不能以数字开头且不能使用Java保留字。建议使用有意义的命名,如student_name、age。关键字是特殊标记,如蓝色字体所示。未使用的关键字有goto、const;特殊单词null、true、false不算关键字。JDK1.4后新增assert,JDK1.5后新增enum。
113 4
|
7月前
|
Java 编译器
课时7:Java程序基本概念(注释)
课时7介绍了Java程序中的注释。编程语言有其语法和语义,注释有助于理解代码需求,防止断档。Java支持三类注释:单行(//)、多行(/* */)和文档注释(/** */)。注释不会被编译器编译。范例中展示了如何在代码中使用注释,并强调了注释对项目文档管理的重要性。
113 3
|
9月前
|
存储 NoSQL 数据库连接
在Python程序中实现LevelDB的海量key的分批次扫描
通过本文的步骤,您可以在Python程序中实现对LevelDB海量key的分批次扫描。这样不仅能够有效地管理大规模数据,还可以避免一次性加载过多数据到内存中,提高程序的性能和稳定性。希望这篇指南能为您的开发工作提供实用的帮助。
202 28
|
7月前
|
存储 Java 数据库连接
【YashanDB知识库】Java程序调用存储过程,在提取clob时报YAS-00004
【YashanDB知识库】Java程序调用存储过程,在提取clob时报YAS-00004

推荐镜像

更多