编程语言对于不太熟悉的朋友来说可能觉得挺玄乎,其实说白了,就是人和机器之间说话的规矩。计算机用电路,底层来看,只认得0和1,人要是直接跟它唠0和1,实在是太麻烦,于是陆续有了汇编语言乃至C语言等等高级语言。于是后来场景变得复杂,这几十年里,一堆先驱者前赴后继,发明了各种语言,让"写程序"这件事,从最初的纸带打孔慢慢变成了打字,现在有了氛围编程,更是成了聊天对话。
这次把2026年这个时间点的主要编程语言,粗略整理一下来给大家看。数据按2026年8月算,榜单用的是TIOBE 2026年7月的,版本标到了各自最新的。
排行榜这种东西也就是参考就行,别太当真。
| 排名 |
语言 |
占比 |
同比变化 |
| 1 |
Python |
18.94% |
-6.91% |
| 2 |
C |
10.86% |
+1.30% |
| 3 |
C++ |
9.12% |
-2.65% |
| 4 |
Java |
8.03% |
-0.94% |
| 5 |
C# |
4.49% |
+0.17% |
| 6 |
JavaScript |
2.72% |
-0.17% |
| 7 |
Visual Basic |
2.48% |
+0.59% |
| 8 |
SQL |
1.71% |
+0.23% |
| 9 |
R |
1.69% |
+0.30% |
| 10 |
Rust |
1.34% |
+0.30% |
| 11 |
Delphi/Object Pascal |
1.29% |
-0.60% |
| 12 |
Scratch |
1.27% |
+0.27% |
| 13 |
Go |
1.17% |
-1.08% |
| 14 |
PHP |
1.16% |
-0.08% |
| 15 |
Swift |
0.99% |
+0.27% |
| 16 |
Ada |
0.91% |
— |
| 17 |
Assembly language |
0.81% |
— |
| 18 |
MATLAB |
0.74% |
— |
| 19 |
Fortran |
0.74% |
— |
| 20 |
Ruby |
0.73% |
— |
第一梯队:统治级语言
Python
| 项目 |
信息 |
| 创建者 |
Guido van Rossum |
| 诞生年份 |
1991年 |
| 当前版本 |
3.14.6(2026年6月10日) |
| 范式 |
面向对象、函数式、过程式 |
| 类型系统 |
动态类型、强类型 |
| 学习难度 |
⭐(极易入门) |
| TIOBE排名 |
#1(18.94%) |
Python现在是大模型的代名词,其实它1991年甚至更早点就出生了,是个叫Guido van Rossum的荷兰人搞的,这个语言的名字取自他喜欢的英剧《Monty Python》。最大的特点就是写起来像人话,强制缩进逼着你把代码排整齐,简单好上手是它常年霸榜新手第一语言的原因。AI、数据科学这块它基本是独一份,PyTorch、pandas这些全让他如虎添翼。
缺点是跑得慢,还有个GIL锁卡着多线程,真想并行挺费劲。好在3.14开始搞了free-threaded模式,等于把这顶帽子摘下来一半。
| 版本 |
年份 |
里程碑事件 |
| 0.9 |
1991 |
首次发布,受ABC语言启发 |
| 1.0 |
1994 |
函数式工具(lambda/map/filter) |
| 2.0 |
2000 |
列表推导式、垃圾回收 |
| 2.7 |
2010 |
2.x最终版本,长期维护至2020年 |
| 3.0 |
2008 |
不向后兼容的大重构(print函数化、Unicode字符串) |
| 3.6 |
2016 |
f-strings、类型注解 |
| 3.10 |
2021 |
结构化模式匹配(match-case) |
| 3.11 |
2022 |
性能提升10-60%( specializing adaptive interpreter) |
| 3.12 |
2023 |
类型参数语法(PEP 695)、f-strings改进 |
| 3.13 |
2024 |
实验性free-threaded模式、JIT编译器 |
| 3.14 |
2025 |
PEP 779正式支持free-threaded、PEP 649延迟注解求值、PEP 784 compression.zstd模块、t-strings(PEP 750) |
C
| 项目 |
信息 |
| 创建者 |
Dennis Ritchie |
| 诞生年份 |
1972年(贝尔实验室) |
| 当前标准 |
C23(2024年正式发布) |
| 范式 |
过程式、结构化 |
| 类型系统 |
静态类型、弱类型 |
| 学习难度 |
⭐⭐⭐(中等偏高) |
| TIOBE排名 |
#2(10.86%) |
C被叫做"一切之母",不是没道理的。操作系统、编译器、数据库,往下挖到底基本都是C。手机Android系统所用的Linux内核、跑Python的那个解释器CPython,全是C写的。它简洁得吓人,关键字就那么几十个,从C89的32个到C23也就44个,但组合起来啥都能干。
代价是指针这玩意儿能把人折腾得厉害,一个不小心就内存泄漏、缓冲区溢出。系统级、嵌入式的活儿躲不开它,新手上来就学它确实苦,所以后来也有人在驱动开发等场景开始使用Rust了。
| 标准 |
年份 |
核心特性 |
| K&R C |
1978 |
Brian Kernighan与Dennis Ritchie合著的《The C Programming Language》定义的非正式标准 |
| C89/C90 |
1989/1990 |
ANSI/ISO正式标准化,引入函数原型、void类型、const/volatile限定符、标准库 |
| C95 |
1995 |
宽字符支持、国际化改进 |
| C99 |
1999 |
//单行注释、inline函数、变长数组(VLA)、long long、stdint.h、指定初始化器 |
| C11 |
2011 |
多线程支持(threads.h)、原子操作(stdatomic.h)、_Generic类型泛型、Unicode支持、匿名结构体/联合体 |
| C17/C18 |
2018 |
C11的缺陷修复版,无新特性 |
| C23 |
2024 |
bool/true/false成为关键字、#embed指令、auto类型推断、十进制浮点类型、移除K&R函数声明语法 |
C++
| 项目 |
信息 |
| 创建者 |
Bjarne Stroustrup |
| 诞生年份 |
1985年("C with Classes"始于1979年) |
| 当前标准 |
C++23(已发布),C++26(2026年3月功能冻结) |
| 范式 |
多范式(面向对象、泛型、函数式、过程式) |
| 类型系统 |
静态类型、强类型 |
| 学习难度 |
⭐⭐⭐⭐⭐(极高) |
| TIOBE排名 |
#3(9.12%) |
C++简单来看就是在C上面叠了一大堆东西:类、模板、异常、lambda……口号是"零开销抽象",其实他的范式和C是几乎完全不同的,只是做到了对C的兼容,基本能手写达到C的一个性能。游戏引擎、高性能计算、量化交易这些死磕性能的地方,往往是它的地盘。
代价是这玩意儿复杂到没边,C++26的标准文档据说两千多页,学起来没个三五年都未必掌握了所有特性。学习难度拉满的榜上它常年前三,入坑前先做好心理准备,但是学好了确实很强大。
| 标准 |
年份 |
核心特性 |
| C++98 |
1998 |
首个ISO标准,模板、异常处理、STL、命名空间 |
| C++03 |
2003 |
技术修正版(TC1),修复缺陷 |
| C++11 |
2011 |
auto、lambda、移动语义、右值引用、智能指针、constexpr、范围for、nullptr——"现代C++"的起点 |
| C++14 |
2014 |
函数返回类型推断、泛型lambda、二进制字面量 |
| C++17 |
2017 |
结构化绑定、optional/variant/any、文件系统库、并行算法 |
| C++20 |
2020 |
概念(Concepts)、协程、模块、范围(Ranges)、三路比较运算符(<=>)——史上最大更新 |
| C++23 |
2023 |
std::expected、std::print、std::span、多维下标运算符、flat_map |
| C++26 |
2026(功能冻结) |
反射(Reflection)、契约(Contracts: pre/post/contract_assert)、std::execution senders/receivers——近年来最大的语言级新增 |
Java
| 项目 |
信息 |
| 创建者 |
James Gosling(Sun Microsystems) |
| 诞生年份 |
1995年 |
| 当前版本 |
JDK 26(2026年3月,非LTS),JDK 25(2025年9月,当前LTS) |
| 范式 |
面向对象、函数式(Java 8起) |
| 类型系统 |
静态类型、强类型 |
| 学习难度 |
⭐⭐⭐(中等) |
| TIOBE排名 |
#4(8.03%) |
Java 1995年出生,靠着一句"一次编写,到处运行"打天下,底气是JVM这层虚拟机,把原来的代码翻译成字节码,然后四处用自己的JVM虚拟机运行,比解释器的Python快,但比编译型的往往要慢一些。它最大的功劳是把自动垃圾回收带进了主流,让程序员告别了手动管内存的苦日子。银行、电商、企业后端,遍地都是它的存量,培训班井喷的时代带来了大量的人力资源积累,成本卷到很低了,加上业务存留,估计一时半会儿倒不了。
相对慢、吃内存,这些年靠虚拟线程、值类型这些项目憋着劲儿但恐怕也难翻盘。排名虽然跌到历史最低,但企业里那堆老系统还得靠它撑着。
| 版本 |
年份 |
里程碑 |
| JDK 1.0 |
1996 |
首次发布 |
| JDK 1.1 |
1997 |
内部类、JDBC、JavaBeans |
| J2SE 1.2 |
1998 |
Swing、集合框架、JIT编译器 |
| J2SE 1.4 |
2002 |
断言、NIO、正则表达式 |
| Java 5 |
2004 |
泛型、注解、枚举、增强for循环、自动装箱 |
| Java 8 |
2014 |
Lambda表达式、Stream API、Optional、新的日期时间API——史上最重要更新 |
| Java 9 |
2017 |
模块化系统(JPMS)、REPL(jshell) |
| Java 11 |
2018 |
LTS,var局部变量推断、HTTP Client |
| Java 17 |
2021 |
LTS,密封类、记录类(Records)、模式匹配预览 |
| Java 21 |
2023 |
LTS,虚拟线程正式发布、模式匹配开关、记录模式 |
| Java 25 |
2025 |
当前LTS,性能增强、模式匹配改进、虚拟线程改进 |
| Java 26 |
2026 |
非LTS,HTTP/3支持(JEP 517)、AOT对象缓存(JEP 516)、结构化并发第6次预览 |
C
| 项目 |
信息 |
| 创建者 |
Anders Hejlsberg(Microsoft) |
| 诞生年份 |
2000年 |
| 当前版本 |
C# 14(.NET 10) |
| 范式 |
多范式(面向对象、函数式、声明式) |
| 类型系统 |
静态类型、强类型 |
| 学习难度 |
⭐⭐⭐(中等) |
| TIOBE排名 |
#5(4.49%) |
C#是微软出的,不要读作C井,是C-sharp。当年就是个"改良版Java",在.NET平台上跑。后来一路演化,现在语法上比Java时髦多了,LINQ、async/await、记录类型、模式匹配这些全都有,算是最现代化的主流静态语言之一。.NET Core之后也彻底跨了平台,不再被Windows绑死。
Unity游戏开发、Windows桌面、ASP.NET后端,都是它的地盘。你要是喜欢一套语法干多个方向,它挺合适。
| 版本 |
年份 |
关键特性 |
| C# 1.0 |
2002 |
基础面向对象,与.NET Framework 1.0同步 |
| C# 2.0 |
2005 |
泛型、迭代器、可空类型、匿名方法 |
| C# 3.0 |
2007 |
LINQ、Lambda、扩展方法、匿名类型——革命性更新 |
| C# 4.0 |
2010 |
动态类型(dynamic)、命名参数、协变/逆变 |
| C# 5.0 |
2012 |
async/await异步编程——改变异步编程范式 |
| C# 6.0 |
2015 |
字符串插值、空条件运算符、表达式体成员 |
| C# 7.0-7.3 |
2017-2018 |
模式匹配、元组、局部函数、Span |
| C# 8.0 |
2019 |
可空引用类型、异步流、范围和索引 |
| C# 9.0 |
2020 |
记录类型、顶级语句、init访问器 |
| C# 10.0 |
2021 |
全局using、文件范围命名空间、record struct |
| C# 11.0 |
2022 |
原始字符串、列表模式、required成员 |
| C# 12.0 |
2023 |
主构造函数、集合表达式、内联数组 |
| C# 13.0 |
2024 |
params集合、扩展类型成员、ref struct改进 |
| C# 14.0 |
2025 |
扩展属性、 nameof增强、未初始化结构体警告改进 |
JavaScript
| 项目 |
信息 |
| 创建者 |
Brendan Eich(Netscape) |
| 诞生年份 |
1995年(10天内完成原型) |
| 当前标准 |
ECMAScript 2025(ES2025) |
| 范式 |
多范式(面向对象原型链、函数式、事件驱动) |
| 类型系统 |
动态类型、弱类型 |
| 学习难度 |
⭐⭐(入门容易,精通难) |
| TIOBE排名 |
#6(2.72%) |
JavaScript是1995年那阵子赶出来的,当时似乎就是给网页加加点小花活。没想到后来成了全世界浏览器的唯一亲儿子,你打开的每个网页里都有它。ES6之后它现代了不少,Node.js又把它带到了服务器端,现在前后端、桌面、移动哪哪都是它。
JS的问题是入门容易,写好难,动态类型加原型链,水是真的深,安全性动不动被人埋雷,而且写不好也会特别慢。好在后面那个TypeScript出来给提升了性能。
| 版本 |
年份 |
关键特性 |
| ES1 |
1997 |
首个ECMA标准 |
| ES3 |
1999 |
正则表达式、try/catch |
| ES5 |
2009 |
严格模式、JSON、数组方法forEach/map/filter |
| ES6/ES2015 |
2015 |
let/const、箭头函数、Promise、class、模块(import/export)、解构、模板字符串、Map/Set——现代JS的起点 |
| ES2016-2019 |
2016-2019 |
Array.includes、async/await、Object.entries、可选catch绑定 |
| ES2020 |
2020 |
可选链(?.)、空合并(??)、BigInt、动态import() |
| ES2021 |
2021 |
逻辑赋值、String.replaceAll、Promise.any |
| ES2022 |
2022 |
Top-level await、类字段、at()方法 |
| ES2023 |
2023 |
数组从后查找(findLast)、Hashbang语法 |
| ES2024 |
2024 |
Promise.withResolvers、Object.groupBy |
| ES2025 |
2025 |
Set方法(union/intersection/difference)、Iterator Helpers、Promise.try |
第二梯队:系统与安全语言
看完几位一线明星,再往下数,是一帮系统和安全方向的狠角色。
Go(Golang)
| 项目 |
信息 |
| 创建者 |
Robert Griesemer、Rob Pike、Ken Thompson(Google) |
| 诞生年份 |
2009年 |
| 当前版本 |
1.27(2026年6月) |
| 范式 |
过程式、并发 |
| 类型系统 |
静态类型、强类型 |
| 学习难度 |
⭐⭐(低,语法极简) |
| TIOBE排名 |
#13(1.17%) |
Go是Google出的,三个带佬一起设计,其中一个还是Unix之父Ken Thompson。它的哲学就俩字:简单。25个关键字,语法一天就能上手,goroutine并发用起来是真爽,编译出来一个静态二进制文件,扔到服务器就能跑。
Docker、Kubernetes、etcd、Prometheus这些云原生基石全是Go写的,想往运维和云原生方向走,或者注重高并发性能的后端开发,可以重点关注golang。
| 版本 |
年份 |
关键特性 |
| 1.0 |
2012 |
首个正式版 |
| 1.5 |
2015 |
自举(编译器用Go重写)、GC暂停降至10ms |
| 1.7-1.9 |
2016-2017 |
子测试/benchmark、HTTP/2、类型别名 |
| 1.11 |
2018 |
Go Modules(依赖管理) |
| 1.13 |
2019 |
error wrapping(errors.Is/As) |
| 1.16 |
2021 |
embed包(内嵌静态文件)、io/fs |
| 1.18 |
2022 |
泛型(类型参数)——历史性更新 |
| 1.21 |
2023 |
内置min/max/clear、WASI支持 |
| 1.22 |
2024 |
range over int、for循环变量作用域修复 |
| 1.23-1.25 |
2024-2026 |
range over func(迭代器函数)、工具链改进、context行为变更 |
| 1.27 |
2026 |
最新稳定版 |
Rust
| 项目 |
信息 |
| 创建者 |
Graydon Hoare(Mozilla) |
| 诞生年份 |
2010年(1.0于2015年发布) |
| 当前版本 |
1.96(2026年5月) |
| 范式 |
多范式(面向对象、函数式、过程式) |
| 类型系统 |
静态类型、强类型、所有权(Ownership)系统 |
| 学习难度 |
⭐⭐⭐⭐⭐(极高,所有权和生命周期概念陡峭) |
| TIOBE排名 |
#10(1.34%,历史最高) |
Rust这些年是被捧上神坛的语言。看家本领是"所有权"系统,在编译期就保证内存安全,不靠垃圾回收,性能跟C持平。很多地方都推荐关键系统往它上面迁,Linux内核也开始引入Rust驱动的支持。
代价是学习曲线陡得离谱,借用检查器能把新手折磨到怀疑人生。熬过去之后,写出来的代码是真的让人放心,那种安全感是别的语言给不了的。最近有很多热门的AI智能体项目都从最初的JS或者Python迁移到了Rust,极大地降低了体积还提高了性能。
| 版本 |
年份 |
关键特性 |
| 0.1-0.x |
2012-2015 |
预发布阶段,语法频繁变化 |
| 1.0 |
2015 |
首个稳定版,承诺向后兼容 |
| 1.26 |
2018 |
Edition 2018,impl Trait、非词法生命周期(NLL) |
| 1.31 |
2018 |
Edition切换机制 |
| 1.58 |
2022 |
Edition 2021,闭包捕获改进、IntoIterator for arrays |
| 1.75 |
2023 |
async fn in traits(稳定化) |
| 1.79 |
2024 |
inline模块、关联类型边界 |
| 1.85 |
2025 |
Edition 2024,async closures稳定化、unsafe属性 |
| 1.96 |
2026 |
最新稳定版 |
Swift
| 项目 |
信息 |
| 创建者 |
Chris Lattner(Apple) |
| 诞生年份 |
2014年 |
| 当前版本 |
6.1(2025年) |
| 范式 |
多范式(面向对象、函数式、协议导向) |
| 类型系统 |
静态类型、强类型、可选类型(Optional) |
| 学习难度 |
⭐⭐⭐(中等) |
| TIOBE排名 |
#15(0.99%) |
Swift是苹果2014年推出来接班Objective-C的,iOS开发现在基本全是它。设计上把现代语言的优点吸收了个遍:类型推断、可选类型、泛型、协议导向编程,还坚持值类型优先于引用类型。
想开发苹果生态的应用,绕不开它。Swift 6开始搞严格并发安全,写多线程的代码能省不少心。
| 版本 |
年份 |
关键特性 |
| 1.0 |
2014 |
首次发布 |
| 2.0 |
2015 |
协议扩展、错误处理(throw/try/catch)、开源 |
| 3.0 |
2016 |
API设计指南重命名(大范围迁移) |
| 4.0 |
2017 |
Codable协议、String重设计 |
| 5.0 |
2019 |
ABI稳定性——里程碑 |
| 5.1 |
2019 |
模块稳定性、属性包装器(Property Wrappers) |
| 5.5 |
2021 |
async/await、Actor、结构化并发 |
| 5.9 |
2023 |
宏系统(Macro)、非copyable类型、if/switch表达式 |
| 6.0 |
2024 |
严格并发安全、数据竞争安全保证 |
| 6.1 |
2025 |
最新版 |
Kotlin
| 项目 |
信息 |
| 创建者 |
JetBrains |
| 诞生年份 |
2011年(1.0于2016年) |
| 当前版本 |
2.4.0(2026年6月) |
| 范式 |
多范式(面向对象、函数式) |
| 类型系统 |
静态类型、强类型、空安全(Null Safety) |
| 学习难度 |
⭐⭐⭐(中等,Java开发者更易上手) |
| TIOBE排名 |
未进入Top 20但Android首选 |
Kotlin是JetBrains出的,定位就是"更好的Java"。跟Java百分之百互通,但把Java那些烦人的地方收拾得干干净净:空指针没了,样板代码少了,还自带协程。Google在2017年宣布它是Android首选语言,安卓开发现在基本都转过去了。
Kotlin 2.0上了K2编译器,编译速度快了一大截。写Android目前就它了,别犹豫。
| 版本 |
年份 |
关键特性 |
| 0.1 |
2011 |
首次预览 |
| 1.0 |
2016 |
首个稳定版 |
| 1.2 |
2017 |
跨平台支持(Kotlin Multiplatform) |
| 1.3 |
2018 |
协程(Coroutines)稳定化 |
| 1.4 |
2020 |
KMP改进、SAM转换 |
| 1.5 |
2021 |
记录类、密封接口、内联属性 |
| 1.6 |
2021 |
上下文接收器预览 |
| 1.7-1.9 |
2022-2023 |
K2编译器预览、智能 cast改进 |
| 2.0 |
2024 |
K2编译器正式发布——里程碑 |
| 2.4 |
2026 |
最新稳定版 |
第三梯队:Web与脚本语言
TypeScript
| 项目 |
信息 |
| 创建者 |
Anders Hejlsberg(Microsoft) |
| 诞生年份 |
2012年 |
| 当前版本 |
6.0.3(2026年);TypeScript 7.0原生编译器预览中 |
| 范式 |
多范式(面向对象、函数式) |
| 类型系统 |
静态类型、结构化类型系统 |
| 学习难度 |
⭐⭐⭐(中等,需理解类型系统) |
| TIOBE排名 |
未列入但有版本追踪 |
TypeScript是微软那位搞C#的大佬Anders Hejlsberg做的,本质是JavaScript的超集,加了一套可选静态类型,编译完还是纯JS。说白了就是给自由奔放的JS套上缰绳,让类型系统在编译期拦下大批低级错误,IDE的补全和重构也顺了。
大型前端项目现在没它真不行,基本是事实标准。用Go重写编译器后据说编译速度能快上10倍,值得期待。
| 版本 |
年份 |
关键特性 |
| 0.8 |
2012 |
首次发布 |
| 1.0 |
2014 |
首个正式版 |
| 2.0 |
2016 |
可空类型、strict模式 |
| 3.0 |
2018 |
unknown类型、Tuple改进 |
| 4.0 |
2020 |
可变元组类型、自定义类型推导 |
| 4.9 |
2022 |
satisfies操作符 |
| 5.0 |
2023 |
装饰器标准化、模块解析 |
| 5.6 |
2024 |
装饰器扩展、配置简化 |
| 6.0 |
2025 |
最新稳定版 |
| 7.0 |
2026(预览) |
原生编译器(Go重写),10x编译速度 |
PHP
| 项目 |
信息 |
| 创建者 |
Rasmus Lerdorf |
| 诞生年份 |
1995年 |
| 当前版本 |
8.5.7(2026年6月) |
| 范式 |
多范式(面向对象、过程式) |
| 类型系统 |
动态类型(PHP 7.4+逐步引入类型声明) |
| 学习难度 |
⭐⭐(低门槛) |
| TIOBE排名 |
#14(1.16%) |
PHP是1995年那个网站还很少的年代出生的,专为Web而生,直接嵌在HTML里跑。全球七成多网站的后端是它,光WordPress就占了四成多,你逛的很多网站底下都是它。
早年名声不太行,但PHP 7性能比5.6快了2-3倍,8.0又上了JIT编译器,才算把"PHP不够严肃"的印象扭转过来。想快速搞个网站,门槛很低,而且很适合用AI帮忙来氛围编程。
| 版本 |
年份 |
关键特性 |
| PHP/FI |
1995 |
首版,Personal Home Page Tools |
| PHP 3 |
1998 |
重写,正式命名PHP: Hypertext Preprocessor |
| PHP 4 |
2000 |
Zend引擎、面向对象初步支持 |
| PHP 5 |
2004 |
Zend Engine 2,完整OOP(类/接口/异常) |
| PHP 5.6 |
2014 |
变长参数、常量表达式 |
| PHP 7.0 |
2015 |
性能飞跃(Zend Engine 3)、标量类型声明、返回类型声明 |
| PHP 7.4 |
2019 |
类型化属性、箭头函数、FFI |
| PHP 8.0 |
2020 |
JIT编译器、联合类型、match、命名参数、属性(Attributes) |
| PHP 8.1 |
2021 |
枚举、纤程(Fibers)、只读属性、交叉类型 |
| PHP 8.2 |
2022 |
只读类、DNF类型、枚举回退 |
| PHP 8.3 |
2023 |
类型化常量、json_validate()、动态类常量 |
| PHP 8.4 |
2024 |
属性钩子(Property Hooks)、不对称可见性、新数组函数 |
| PHP 8.5 |
2026 |
最新稳定版 |
Ruby
| 项目 |
信息 |
| 创建者 |
Yukihiro Matsumoto(松本行弘,"Matz") |
| 诞生年份 |
1995年 |
| 当前版本 |
3.4(2024年) |
| 范式 |
面向对象(一切皆对象)、函数式 |
| 类型系统 |
动态类型、强类型 |
| 学习难度 |
⭐⭐(低,语法优雅) |
| TIOBE排名 |
#20(0.73%) |
Ruby是日本人松本行弘搞的,设计目标就一句话:让程序员快乐。一切皆对象,连整数都能调方法,语法优雅得不行。真正让它出名的是一句Ruby on Rails,2004年开创了"约定优于配置",GitHub、Airbnb都是这套框架的受益者。
缺点大概是性能了,另外这些年好像没发现除了RoR之外的其他类似量级的明星项目了。
| 版本 |
年份 |
关键特性 |
| 0.95 |
1995 |
首次发布 |
| 1.0 |
1996 |
首个正式版 |
| 1.8 |
2003 |
广泛采用,Rails 1.0诞生(2005) |
| 1.9 |
2007 |
YARV虚拟机,性能提升 |
| 2.0 |
2013 |
关键字参数、Module#prepend |
| 2.6 |
2018 |
JIT编译器(实验性) |
| 3.0 |
2020 |
Ractor(并行)、Fiber调度、RBS类型签名、性能3x目标 |
| 3.1 |
2021 |
YJIT(用Rust重写的JIT) |
| 3.2 |
2022 |
WASM支持、语法改进 |
| 3.3 |
2023 |
YJIT生产可用、Prism解析器 |
| 3.4 |
2024 |
最新稳定版 |
Lua
| 项目 |
信息 |
| 创建者 |
Roberto Ierusalimschy、Luiz Henrique de Figueiredo、Waldemar Celes |
| 诞生年份 |
1993年(巴西) |
| 当前版本 |
5.4(2020年),LuaJIT 2.1(持续维护) |
| 范式 |
过程式、函数式、面向对象(通过table实现) |
| 类型系统 |
动态类型、弱类型 |
| 学习难度 |
⭐⭐(低) |
| TIOBE排名 |
未进入Top 20 |
Lua是OpenWrt上面会常用到的,整体非常轻量级,小得离谱,整个解释器也就200KB左右,专为嵌进别人的程序里当脚本语言。数据结构就一个table,数组、哈希、对象、模块全靠它一个顶四个。
除了路由系统OpenWrt之外,游戏脚本、Nginx、Redis、Neovim配置,也是它的地盘。你玩过的魔兽世界、Roblox,底层脚本也可能是它。
| 版本 |
年份 |
关键特性 |
| 1.0 |
1993 |
首版,用于Petroleo Brasileiro数据描述 |
| 3.0 |
1997 |
协程机制引入 |
| 5.0 |
2003 |
标准API统一、meta-mechanism |
| 5.1 |
2006 |
模块系统——LuaJIT基准版本 |
| 5.2 |
2011 |
yield from any scope、位运算 |
| 5.3 |
2015 |
整数类型、UTF-8支持 |
| 5.4 |
2020 |
生成器语义改进、const/local变量 |
Perl
| 项目 |
信息 |
| 创建者 |
Larry Wall |
| 诞生年份 |
1987年 |
| 当前版本 |
5.40(2024年),Raku(原Perl 6,已独立) |
| 范式 |
过程式、面向对象、函数式 |
| 类型系统 |
动态类型 |
| 学习难度 |
⭐⭐⭐⭐(高,"正则表达式的噩梦") |
| TIOBE排名 |
#18(0.92%) |
Perl是1987年出的,江湖人称"完成工作的瑞士军刀",文本处理的祖师爷。设计哲学是"条条大路通罗马",自由度极大,但后果就是代码风格五花八门,一个人写的Perl别人基本看不懂。
它的正则表达式是所有现代语言正则的爹,PCRE就是从它这儿来的。现在主要活在系统管理和遗留系统里。
| 版本 |
年份 |
关键特性 |
| 1.0 |
1987 |
首版 |
| 4.0 |
1991 |
《Programming Perl》出版 |
| 5.0 |
1994 |
完整OOP、模块系统、引用——现代化 |
| 5.6 |
2000 |
Unicode支持、线程(实验性) |
| 5.10 |
2007 |
say、given/when、智能匹配 |
| 5.14-5.16 |
2011-2012 |
正则改进、Unicode全面支持 |
| 5.20 |
2014 |
后缀解引用、子程序签名 |
| 5.36 |
2022 |
签名正式稳定、indented heredoc |
| 5.40 |
2024 |
最新版 |
第四梯队:函数式与学术语言
Haskell
| 项目 |
信息 |
| 创建者 |
Haskell委员会(学术社区) |
| 诞生年份 |
1990年 |
| 当前版本 |
GHC 9.12(2025年) |
| 范式 |
纯函数式 |
| 类型系统 |
静态类型、强类型、Hindley-Milner类型推断、高阶类型 |
| 学习难度 |
⭐⭐⭐⭐⭐(极高,需转变思维范式) |
| TIOBE排名 |
未进入Top 20 |
Haskell是纯函数式语言的旗舰,学术味浓得呛人。没有副作用、没有可变状态、惰性求值、单子……光这些概念就能劝退一大半人。它的类型系统强得离谱,写出来的代码正确性在编译期就有极高保证。
金融量化、编译器、区块链(Cardano)用它。说实话,一般来说,大家学这个大概不是为上班用吧。
| 版本 |
年份 |
关键特性 |
| Haskell 1.0 |
1990 |
首个标准 |
| Haskell 98 |
1999 |
修订标准 |
| Haskell 2010 |
2010 |
标准库扩展、FFI |
| GHC 7-8 |
2012-2015 |
类型级自然数、类型族(Type Families) |
| GHC 8.0 |
2016 |
Backpack模块系统 |
| GHC 9.0 |
2021 |
Linear types、 QualifiedDo |
| GHC 9.6 |
2023 |
AST改进、GHC提案系统 |
| GHC 9.12 |
2025 |
最新版 |
Scala
| 项目 |
信息 |
| 创建者 |
Martin Odersky |
| 诞生年份 |
2004年 |
| 当前版本 |
3.x(2025年) |
| 范式 |
面向对象+函数式融合 |
| 类型系统 |
静态类型、强类型、高阶类型 |
| 学习难度 |
⭐⭐⭐⭐⭐(极高,概念密集) |
| TIOBE排名 |
未进入Top 20 |
Scala是Martin Odersky搞的,跑在JVM上,面向对象和函数式一把抓,类型系统极其强大。Scala 3来了一次大重构,换成缩进式语法,简单了不少。
它最大的地盘是大数据,Apache Spark就是Scala写的,Apache Flink也曾经是Scala写的,但是后续应该是转回Java了。
| 版本 |
年份 |
关键特性 |
| 1.0 |
2004 |
首版 |
| 2.0 |
2006 |
大幅重写 |
| 2.8 |
2010 |
集合库重设计 |
| 2.10 |
2012 |
宏、字符串插值 |
| 2.12 |
2016 |
Java 8互操作、SAM转换 |
| 2.13 |
2019 |
集合库再次重设计 |
| 3.0 |
2021 |
Scala 3(Dotty),全新语法、union/intersection类型——里程碑 |
| 3.3 |
2023 |
LTS版本 |
| 3.5+ |
2024-2025 |
持续改进 |
第五梯队:科学与专用语言
R
| 项目 |
信息 |
| 创建者 |
Ross Ihaka、Robert Gentleman(奥克兰大学) |
| 诞生年份 |
1993年(S语言基础上发展) |
| 当前版本 |
4.5(2025年) |
| 范式 |
函数式、数组式 |
| 类型系统 |
动态类型 |
| 学习难度 |
⭐⭐⭐(中高,统计学背景有帮助) |
| TIOBE排名 |
#9(1.69%) |
R是统计计算的老大,1993年出生在奥克兰大学,数据可视化(ggplot2)、统计建模、生物信息学领域地位稳固。CRAN上有近两万个统计相关的包,想搞统计分析它最全。
语法受S语言和Scheme影响,向量化操作是核心,有统计学背景的人大概会用的多一些。
| 版本 |
年份 |
关键特性 |
| 1.0 |
2000 |
首个正式版 |
| 2.0 |
2004 |
内存管理改进 |
| 3.0 |
2013 |
长向量支持 |
| 3.6 |
2019 |
RNG默认变更 |
| 4.0 |
2020 |
字符串因子默认变更、Markdown文档 |
| 4.1 |
2021 |
Lambda语法((x) x^2)、原生管道|> |
| 4.2 |
2022 |
|>_正式稳定 |
| 4.4 |
2024 |
性能改进 |
| 4.5 |
2025 |
最新版 |
MATLAB
| 项目 |
信息 |
| 创建者 |
Cleve Moler(MathWorks) |
| 诞生年份 |
1984年 |
| 当前版本 |
R2025b(2025年) |
| 范式 |
过程式、面向对象(有限支持) |
| 类型系统 |
动态类型 |
| 学习难度 |
⭐⭐⭐(中等,矩阵思维) |
| TIOBE排名 |
#18(0.74%) |
MATLAB是矩阵计算的天花板,一切皆矩阵是它的核心理念。工程仿真、信号处理、控制系统、图像处理,到处是它,Simulink做可视化建模更是独门绝技。
缺点就一个字:贵。商业授权费高昂,所以不少人转身投靠Python的NumPy/SciPy,或者开源的GNU Octave、SCI Lab等等。
| 版本 |
年份 |
关键特性 |
| 早期 |
1984 |
首次商业发布 |
| 5.0 |
1997 |
面向对象编程、结构体 |
| 7.0 |
2004 |
性能优化、JIT |
| R2008a |
2008 |
命名改为R+年份格式 |
| R2016b |
2016 |
tall arrays、字符串类型 |
| R2020b |
2020 |
Live Editor改进、新图形引擎 |
| R2023b |
2023 |
Python互操作改进 |
| R2025b |
2025 |
最新版 |
Julia
| 项目 |
信息 |
| 创建者 |
Jeff Bezanson、Stefan Karpinski、Viral Shah、Alan Edelman(MIT) |
| 诞生年份 |
2012年 |
| 当前版本 |
1.11(2024年) |
| 范式 |
多范式(函数式、过程式、面向对象多重派发) |
| 类型系统 |
动态类型、JIT编译 |
| 学习难度 |
⭐⭐⭐(中等,Python+数学背景可快速上手) |
| TIOBE排名 |
未进入Top 20 |
Julia的口号是解决"双语言问题"——一边想要Python的舒服,一边想要C的速度。它用LLVM做JIT,性能接近编译语言,跟Python/C/Fortran还能无缝互调,复用现成的库。
多重派发是它的核心特色,函数行为根据所有参数类型决定。科学计算、数值模拟这块可以用到,但是目前生态还是远没办法跟Python相比。
| 版本 |
年份 |
关键特性 |
| 0.1 |
2012 |
首次发布 |
| 0.6 |
2017 |
最后的0.x版本 |
| 1.0 |
2018 |
首个稳定版——里程碑 |
| 1.5 |
2020 |
Cray支持、线程改进 |
| 1.6 |
2021 |
LTS版本、编译器性能大幅提升 |
| 1.8 |
2022 |
并行计算改进、内存layout |
| 1.9 |
2023 |
编译缓存改进 |
| 1.10 |
2023 |
LTS版本 |
| 1.11 |
2024 |
公共API正式化、包管理改进 |
Dart
| 项目 |
信息 |
| 创建者 |
Lars Bak、Kasper Lund(Google) |
| 诞生年份 |
2011年 |
| 当前版本 |
3.12(2026年5月) |
| 范式 |
面向对象、函数式 |
| 类型系统 |
静态类型、强类型、空安全(Sound Null Safety) |
| 学习难度 |
⭐⭐(低,Java/JS开发者快速上手) |
| TIOBE排名 |
未进入Top 20但Flutter生态活跃 |
Dart是Google出的,主要就是给Flutter框架配的。Flutter做跨平台应用,一套代码跑iOS、Android、Web、桌面,开发时热重载体验也好。Dart 3把空安全彻底做扎实了,还加了记录和模式匹配。
想搞移动跨平台,Flutter是绕不开的主流选择,Dart自然是跟着它。
| 版本 |
年份 |
关键特性 |
| 1.0 |
2013 |
首版 |
| 2.0 |
2018 |
类型系统强化、Flutter成熟 |
| 2.12 |
2021 |
空安全(Null Safety)——里程碑 |
| 3.0 |
2023 |
100%健全空安全、记录(Records)、模式匹配——大版本 |
| 3.2 |
2023 |
WebAssembly(GC)支持 |
| 3.4 |
2024 |
性能改进 |
| 3.12 |
2026 |
最新版 |
SQL
| 项目 |
信息 |
| 创建者 |
Donald Chamberlin、Raymond Boyce(IBM) |
| 诞生年份 |
1974年(SEQUEL),1986年ANSI标准化 |
| 当前标准 |
SQL:2023(ISO/IEC 9075) |
| 范式 |
声明式 |
| 类型系统 |
静态类型(基于模式Schema) |
| 学习难度 |
⭐⭐(基础易,高级优化难) |
| TIOBE排名 |
#8(1.71%) |
SQL不算通用编程语言,但搞数据的人没人躲得开它。它的思路是声明式的:你告诉它要啥,它自己琢磨咋取,查询优化器决定执行计划。基础语法学起来半天就会,但优化起来水深得很。
现在的SQL已经能玩窗口函数、CTE、JSON操作、递归查询这些高级活了,2023版连属性图查询都进了标准。
| 标准 |
年份 |
关键特性 |
| SQL-86 |
1986 |
首个ANSI标准 |
| SQL-89 |
1989 |
参照完整性 |
| SQL-92 |
1992 |
JOIN语法、CASE、外连接 |
| SQL:1999 |
1999 |
触发器、递归、正则匹配 |
| SQL:2003 |
2003 |
窗口函数、XML支持 |
| SQL:2008 |
2008 |
INSTEAD OF触发器、TRUNCATE |
| SQL:2011 |
2011 |
时态数据(Temporal Tables) |
| SQL:2016 |
2016 |
JSON支持、行模式 |
| SQL:2019 |
2019 |
属性图查询 |
| SQL:2023 |
2023 |
SQL/PGQ属性图查询、JSON数据类型正式化 |
Scratch
| 项目 |
信息 |
| 创建者 |
MIT Media Lab(Mitchel Resnick团队) |
| 诞生年份 |
2007年 |
| 当前版本 |
3.0(2019年) |
| 范式 |
事件驱动、积木式可视化编程 |
| 类型系统 |
无传统类型系统 |
| 学习难度 |
⭐(极易,面向8-16岁青少年) |
| TIOBE排名 |
#12(1.27%) |
Scratch是MIT搞的积木式编程,不用敲代码,把积木块拖来拖去就行,面向小朋友。设计目的是让儿童在编程里学会创造性思维和系统推理,现在学校的信息技术课到处都是它。
TIOBE排名能排到12,说明少儿编程是真火了一下,但是为什么不直接学Python呢。
| 项目 |
信息 |
| 创作者 |
MIT Media Lab |
| 诞生年份 |
2007年 |
| 当前版本 |
3.0(2019年) |
| 定位 |
少儿编程教育 |
第六梯队:新兴与前沿语言
Zig
| 项目 |
信息 |
| 创建者 |
Andrew Kelley |
| 诞生年份 |
2016年 |
| 当前版本 |
0.16.0(2026年4月) |
| 范式 |
过程式、编译期元编程 |
| 类型系统 |
静态类型、强类型 |
| 学习难度 |
⭐⭐⭐(中等,C开发者友好) |
| TIOBE排名 |
未进入Top 20但持续上升 |
Zig是新锐里的当红炸子鸡,理念是"无隐藏魔法"——没有隐式控制流、没有隐式内存分配、没有预处理器、没有宏,所有行为都得在代码里明着写。最牛的是comptime编译期执行,能在编译期调用任意函数、操作类型,实现零运行时开销的元编程。
它还能当零依赖的C/C++交叉编译器用,TigerBeetle这种追求极致的数据库就选它。
| 版本 |
年份 |
关键特性 |
| 0.1 |
2016 |
首版 |
| 0.5 |
2019 |
comptime系统成熟 |
| 0.10 |
2022 |
自举编译器(self-hosted) |
| 0.11 |
2023 |
包管理器(zig fetch) |
| 0.13 |
2024 |
稳定性提升 |
| 0.16 |
2026 |
错误处理改进、编译期反射增强、标准库新模块(std.crypto/std.net.Server) |
Nim
| 项目 |
信息 |
| 创建者 |
Andreas Rumpf |
| 诞生年份 |
2008年 |
| 当前版本 |
2.2.10(2026年4月) |
| 范式 |
多范式(过程式、函数式、面向对象、元编程) |
| 类型系统 |
静态类型、强类型、类型推断 |
| 学习难度 |
⭐⭐⭐(中等,Python语法+C性能) |
| TIOBE排名 |
未进入Top 20 |
Nim想同时拥有Python的语法和C的性能,先编译到C/C++/JavaScript,再由GCC/Clang变成原生代码。内存管理用ORC那套,确定性地析构,没有GC暂停。宏系统直接操作AST,表达力极强。
以太坊有个客户端Nimbus就是它写的,也是它拿得出手的代表作。
| 版本 |
年份 |
关键特性 |
| 0.x |
2008-2014 |
预发布(原名Nimrod) |
| 1.0 |
2019 |
首个稳定版 |
| 1.6 |
2021 |
LTS版本 |
| 2.0 |
2023 |
ARC/ORC默认——里程碑 |
| 2.2 |
2024 |
编译器内部重构、ORC改进 |
| 2.2.10 |
2026 |
最新版(76 commits、34 bugfixes) |
横向对比
按学习难度排序
| 难度 |
语言 |
适合人群 |
| ⭐ 极易 |
Python、Scratch |
零基础入门、青少年教育 |
| ⭐⭐ 低 |
Go、PHP、Ruby、Lua、Dart |
有编程基础者快速上手 |
| ⭐⭐⭐ 中 |
Java、C#、JavaScript、Nim、Julia |
有一定基础,可深入掌握 |
| ⭐⭐⭐⭐ 中高 |
C、Swift、Kotlin、TypeScript、R、MATLAB |
需要理解类型系统或特定范式 |
| ⭐⭐⭐⭐⭐ 极高 |
C++、Rust、Perl、Scala、Haskell |
需要深厚的计算机科学基础 |
按应用领域速查
| 领域 |
首选语言 |
备选 |
| AI/机器学习 |
Python |
Julia、R |
| Web前端 |
JavaScript/TypeScript |
Dart(Flutter) |
| Web后端 |
Python/Java/Go/Node.js |
PHP、Ruby、C# |
| 移动开发 |
Kotlin(Android)、Swift(iOS) |
Dart(Flutter跨平台)、React Native(JS) |
| 系统编程 |
C/C++/Rust |
Zig、Go、Nim |
| 游戏开发 |
C++ |
C#(Unity)、Lua(脚本) |
| 大数据 |
Scala(Spark) |
Python、Java |
| 数据科学 |
Python/R |
Julia、SQL |
| 嵌入式 |
C |
C++、Rust、Zig |
| 云原生/DevOps |
Go |
Python、Shell |
| 科学计算 |
Julia/Python |
MATLAB、R |
按当前版本一览
| 语言 |
当前版本 |
发布日期 |
类型 |
| Python |
3.14.6 |
2026-06 |
稳定版 |
| C |
C23 |
2024-10 |
标准 |
| C++ |
C++23/C++26(冻结) |
2023/2026-03 |
标准 |
| Java |
JDK 26 |
2026-03 |
非LTS(当前LTS: JDK 25) |
| C# |
14(.NET 10) |
2025 |
稳定版 |
| JavaScript |
ES2025 |
2025 |
标准 |
| Go |
1.27 |
2026-06 |
稳定版 |
| Rust |
1.96 |
2026-05 |
稳定版 |
| Swift |
6.1 |
2025 |
稳定版 |
| Kotlin |
2.4.0 |
2026-06 |
稳定版 |
| TypeScript |
6.0.3 |
2025 |
稳定版(7.0原生编译器预览) |
| PHP |
8.5.7 |
2026-06 |
稳定版 |
| Ruby |
3.4 |
2024 |
稳定版 |
| Lua |
5.4 |
2020 |
稳定版 |
| Dart |
3.12 |
2026-05 |
稳定版 |
| R |
4.5 |
2025 |
稳定版 |
| Julia |
1.11 |
2024 |
稳定版 |
| Scala |
3.x |
2025 |
稳定版 |
| Haskell |
GHC 9.12 |
2025 |
稳定版 |
| Nim |
2.2.10 |
2026-04 |
稳定版 |
| Zig |
0.16.0 |
2026-04 |
预发布 |
编程语言发展时间线
| 年代 |
出现的语言(年份) |
| 1950年代 |
Fortran(1957)、LISP(1958)、ALGOL(1958)、COBOL(1959) |
| 1960年代 |
BASIC(1964)、PL/I(1964)、Simula(1965)、BCPL(1967)、Pascal(1970) |
| 1970年代 |
C(1972)、Smalltalk(1972)、Prolog(1972)、Scheme(1975)、Ada(1983) |
| 1980年代 |
Objective-C(1984)、C++(1985)、Eiffel(1986)、Perl(1987)、Tcl(1988) |
| 1990年代 |
Haskell(1990)、Python(1991)、Lua(1993)、Ruby(1995)、Java(1995)、JavaScript(1995)、PHP(1995)、Delphi(1995) |
| 2000年代 |
C#(2000)、Scala(2004) |
| 2010年代 |
Rust(2010)、Dart(2011)、Kotlin(2011)、Julia(2012)、TypeScript(2012)、Swift(2014)、Zig(2016) |
| 2020年代 |
持续涌现的新语言 |
咋选语言
说实话,选语言这事儿,比很多人想的简单。别被"XX已死""XX将取代XX"这种标题党带偏,关键看你到底想干啥。
按目标选
| 你的目标 |
推荐路径 |
| 零基础入门 |
Python → 理解编程基础后选择方向 |
| Web前端开发 |
HTML/CSS → JavaScript → TypeScript → React/Vue |
| Web后端开发 |
Python(Django/FastAPI) 或 Go 或 Node.js |
| Android开发 |
Kotlin → Jetpack Compose |
| iOS开发 |
Swift → SwiftUI |
| 跨平台移动 |
Dart(Flutter) |
| 数据科学/AI |
Python(NumPy/pandas/PyTorch) → R(统计) → Julia(高性能) |
| 游戏开发 |
C++(Unreal Engine) 或 C#(Unity) |
| 系统编程 |
C → Rust 或 Zig |
| 大数据 |
Scala(Spark) 或 Python |
| 嵌入式 |
C → Rust |
| 云原生/后端 |
Go → Kubernetes生态 |
| 高并发实时系统 |
Go |
| 金融量化 |
Python → C++ → Haskell |
| 编程教育(儿童) |
Scratch → Python |
按已有基础选
| 你的背景 |
下一步推荐 |
| 会Java |
Kotlin(Android) 或 Go(云原生) 或 TypeScript(全栈) |
| 会C |
C++(游戏/高性能) 或 Rust(安全系统) 或 Zig(C替代) |
| 会Python |
Go(高性能后端) 或 Rust(系统) 或 TypeScript(前端) |
| 会JavaScript |
TypeScript → Node.js后端 或 Dart(Flutter移动) |
这一整篇下来,你会发现编程语言这东西没那么玄乎。本质就是一代代人为了解决当时的具体问题攒出来的工具,各有各的用武之地。数据截至2026年8月,版本和排名都在变,但语言背后那套思想,始终是人和机器的交互。