Python热度下滑、AI能取代搜索引擎?TIOBE最新榜单揭晓!

Python热度下滑、AI能取代搜索引擎?TIOBE最新榜单揭晓!

整理 | 屠敏

出品 | ZEEKLOG(ID:ZEEKLOGnews)

日前,TIOBE 发布了最新的 3 月编程语言榜单。整体来看,本月排名变化不算大,但榜单中仍然出现了一些值得关注的小波动。

图片

 AI 工具能帮大家秒懂最新编程语言趋势?

由于 2 月天数较少,3 月的榜单整体变化有限。借着这次发布,TIOBE CEO Paul Jansen 也回应了一个最近被频繁讨论的问题:为什么 TIOBE 指数仍然依赖搜索引擎统计结果?在大语言模型流行的今天,直接询问 AI 哪些编程语言最流行,是不是更简单?

对此,Jansen 的回答是否定的。

他解释称,TIOBE 指数本质上统计的是互联网上关于某种编程语言的网页数量。而大语言模型的训练数据同样来自这些网页内容,因此从信息来源来看,两者并没有本质区别。换句话说,LLM 的判断,本质上也是建立在这些网页数据之上的。

图片

Python 活跃度仍在下降

虽然整体格局比较稳定,但榜单中还是出现了一些小变化。

其中 Python 依然稳居第一,不过近几个月热度略有下降,本月下降 2.59%,目前占比 21.25%。究其背后原因,一方面或是因为 Python 在数据科学、人工智能等领域已经逐渐成熟,增长空间相比前几年有所放缓。同时,R、Perl、Rust 和 TypeScript 等语言在特定领域的关注度上升,也在一定程度上分散了开发者的关注,使 Python 的相对比例出现小幅下滑。

此外,在前十名中,SQL 与 R 互换了位置。当前,SQL 以 2% 的份额,排在第八位,R 位居第五,占比 1.88%。这种变化在一定程度上反映出数据相关技术的持续热度。随着数据分析、商业智能以及数据工程需求的增长,SQL 作为数据查询和处理的基础语言,依然保持着稳定的关注度。而 R 虽然在统计分析和学术研究领域依然重要,但近年来在部分数据科学场景中,也逐渐受到 Python 生态的竞争。

与此同时,Swift 重新进入前二十名,而 Kotlin 则被挤出了前二十。从生态来看,Swift 的回升可能与 Apple 平台开发需求保持稳定有关,而 Kotlin 虽然仍是 Android 开发的重要语言,但近年来 Android 生态的技术关注度整体趋于平稳,也可能影响了其搜索热度。

除此之外,再往后看,Ruby 的排名也在持续下滑,目前已经逼近前三十名边缘。如果这一趋势继续,未来几个月 Ruby 可能会跌出前 30。业内普遍认为,这与 Ruby on Rails 在新项目中的采用率下降,以及部分 Web 开发逐渐转向 JavaScript、Python 或 Go 等语言有关。

图片

其他编程语言

以下为 Top 21-50 的编程语言榜单:

第 51-100 名如下,由于它们之间的数值差异较小,仅以文本形式列出(按字母排序):Algol, Alice, Apex, Awk, Bash, C shell, Caml, CL (OS/400), Clojure, Common Lisp, F#, Forth, GAMS, GML, Groovy, Hack, Icon, Inform, Io, J, J#, JScript, JScript.NET, Korn shell, ML, Modula-2, Mojo, MQL5, MS-DOS batch, NATURAL, Nim, OCaml, OpenCL, Q, REXX, RPG, S, Scheme, Small Basic, Smalltalk, Solidity, SPARK, Structured Text, Tcl, V, Vala/Genie, VHDL, WebAssembly, Wolfram, Xojo

图片

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

图片

历史排名(1988-2026)

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

【说明】:

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

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

推荐阅读:

上门安装“龙虾”几天赚26万?工程师提出质疑;雷军:未来每天上班两小时就够了;大四学生AI开源项目获陈天桥3000万投资 | 极客头条

48小时“烧光”56万!三人创业团队濒临破产,仅因Gemini API密钥被盗:“AI账单远超我们的银行余额”

全球26w+用户在线「养虾」:OpenClaw这一波泼天流量,到底让谁接住了?

未来没有前后端,只有 AI Agent 工程师。

这场十倍速的变革已至,你的下一步在哪?

4 月 17-18 日,由 ZEEKLOG 与奇点智能研究院联合主办「2026 奇点智能技术大会」将在上海隆重召开,大会聚焦 Agent 系统、世界模型、AI 原生研发等 12 大前沿专题,为你绘制通往未来的认知地图。

成为时代的见证者,更要成为时代的先行者。

奇点智能技术大会上海站,我们不见不散!

Read more

FFmpeg/opencv + C++ 实现直播拉流和直播推流(对视频帧进行处理)

FFmpeg/opencv + C++ 实现直播拉流和直播推流(对视频帧进行处理)

第1章 基础知识 1.1 封装和解封装 原始图像序列 (frame₀, frame₁, frame₂, ..., frameₙ) ↓ [H.264 编码器](编码器本质是一种帧与帧之间,以及帧内的一种压缩技术) ↓ H.264 视频编码流(包含 I 帧、P 帧、B 帧) ↓ [MP4 封装器] ↓ MP4 文件(movie.mp4) ├── 视频流(H.264 编码) ├── 音频流(可选,如 AAC 编码) └── 元数据(时间戳、分辨率等) 1.2 编码与解码 MP4 文件(movie.mp4)

By Ne0inhk
延迟渲染中的 C++ 实现要点与性能权衡

延迟渲染中的 C++ 实现要点与性能权衡

延迟渲染中的 C++ 实现要点与性能权衡 一、延迟渲染简介 延迟渲染(Deferred Rendering)是现代游戏图形渲染中广泛采用的一种光照计算方法。与传统的**前向渲染(Forward Rendering)**相比,其主要优势在于: * 可同时处理大量光源(Point、Spot、Directional) * 每个像素仅需计算一次光照 * 分离几何绘制与光照流程,利于多阶段优化 延迟渲染三阶段概览 Geometry Pass 写入 GBufferLighting Pass 读取 GBuffer + 光照计算Post-Processing Pass Tonemap 等 二、C++ 中延迟渲染的模块化设计 为构建一个延迟渲染器,通常采用模块化设计: classDeferredRenderer{public:voidInit();voidGeometryPass();voidLightingPass();voidCompositePass();private: GBuffer mGBuffer; LightManager mLightManager;

By Ne0inhk
CCF-GESP 等级考试 2025年12月认证C++六级真题解析

CCF-GESP 等级考试 2025年12月认证C++六级真题解析

1 单选题(每题 2 分,共 30 分) 第1题 在面向对象编程中,下列关于 虚函数 的描述中,错误的是(   )。 A. 虚函数用于支持运行时多态 B. 通过基类指针调用虚函数时,会根据对象实际类型决定调用版本 C. 构造函数可以声明为虚函数以支持多态 D. 基类析构函数常声明为虚函数以避免资源泄漏 解析:答案C。虚函数是实现运行时多态的关键机制,通过基类指针调用时会动态绑定到派生类实现,A正确。通过基类指针调用虚函数时,会根据对象实际类型决定调用版本是虚函数的核心特性,称为动态绑定或后期绑定,B正确。构造函数不能声明为虚函数,这是C++标准规定,C错误。虚析构函数确保派生类资源被正确释放,D正确。故选C。 第2题 执行如下代码,会输出 钢琴:叮咚叮咚 和 吉他:咚咚当当 。这体现了面向对象编程的(   )特性。 class

By Ne0inhk
C++之多态

C++之多态

多态 * 什么是多态? * 多态的定义及实现 * 多态的构成条件 * 虚函数 * 虚函数的重写/覆盖 * 关键技术原理 * 最佳实践指南 * 虚函数重写 * 协变 * 析构函数的重写 * override和final关键字 * 纯虚函数和抽象类 * 多态的原理 * 多态是如何实现的 * 1. 虚函数表(vtable) * 虚函数表知识要点 * 2. 虚函数的声明 * 3. 多态的实现过程 * 动态绑定与静态绑定 什么是多态? 多态(Polymorphism)是面向对象编程的三大核心特性之一(封装、继承、多态),源于希腊语"多种形态"。在C++中,它允许我们使用统一的接口处理不同类型的对象,显著提高了代码的灵活性和可扩展性。 核心概念 1. 同一接口,多种形态 不同的对象可以通过相同的方法名调用,但实际执行的逻辑由对象自身的类决定。 2. 解耦调用与实现 调用者只需关注接口(方法名和参数)

By Ne0inhk