Mojo 1.0:AI 时代的新编程语言?
比 Python 快 35000 倍,经过三年迭代终于走到 1.0,随后全面开源、被高通收入麾下——Mojo 这两年的故事线,几乎是 AI 基础软件演进的一个缩影。
本文只写可核实的事实(文末附来源),并结合官方 1.0 文档给出语法现状,帮你判断:这门语言值不值得现在投入时间。
一、为什么需要一门新语言
过去十多年,AI 开发者已经形成了一套约定俗成的技术栈:
- 上层用 Python:写模型、脚本、数据管道,胜在生态和易用性
- 下层用 C/C++/CUDA 或厂商 DSL:写性能关键路径——矩阵乘、注意力内核、调度器
- 两层之间靠 FFI 和扩展模块打通:调试、部署、性能调优都要跨两套世界
这套组合被证明有效,但问题也越来越明显。随着模型规模扩大,计算硬件从 CPU、GPU 到 TPU,再到越来越多的 NPU、ASIC 和专用加速器——一个 AI 系统往往同时涉及多种硬件、多套编程模型、不同的开发工具链。异构性成了 AI 软件栈最大的税。
于是问题变成了:有没有可能用一门语言,同时拿到 Python 的易用性和 C++/CUDA 的性能,并且生来就面向异构计算?
这就是 Mojo 的切入点。
二、从 Modular 到 Mojo 1.0 的三年
Mojo 背后的公司叫 Modular,2022 年成立。两位创始人的背景堪称豪华:
- Chris Lattner:编译器圈大神,LLVM、Clang、Swift、MLIR 都出自他之手,还深度参与过谷歌 TPU 基础设施
- Tim Davis:长期负责 Google Brain,以及 TensorFlow、XLA 等核心系统
他们创立 Modular 的判断很直接:AI 软件栈过于碎片化——训练、推理、预处理、后处理、部署各有一套工具和语言,不同硬件又是各自为政的编程模型。而 AI 不会永远只跑在一两种 GPU 上,现有软件栈撑不住未来的异构爆发。
要做横跨这些硬件的统一平台,在现有语言上修修补补不够——于是 Mojo 诞生了,这个原本不在计划内的决定。
关键时间线(均为已核实事件):
| 时间 | 事件 |
|---|---|
| 2022 | Modular 成立 |
| 2023.05 | Mojo 亮相,凭「比 Python 快 35000 倍」的演示刷屏开发者圈 |
| 2023–2025 | 以「闭源编译器 + 开源标准库」形式发展,语法和类型系统经历多轮大改 |
| 2024 | Modular 公开通向 1.0 的路线图,承诺先把语言打磨稳定 |
| 2026.06.24 | 高通宣布以全股票方式收购 Modular(外媒报道估值约 31–39 亿美元) |
| 2026.07.29 | 收购完成,Chris Lattner 出任高通高级 AI 软件与平台执行副总裁 |
| 2026.08 | Mojo 1.0 发布,语言语义冻结,进入长期稳定阶段 |
| 2026.08.18 | 全面开源:编译器和全套工具链以 Apache 2.0(附 LLVM 例外条款)协议进入 GitHub |
收购后 Mojo、MAX、Modular Cloud 保持独立品牌运营。开源举动基本打消了「被高通收购后会闭源、锁死在骁龙生态」的担忧——高通显然想要的是对抗 CUDA 的软件底座,而开源是拉拢更多硬件厂商和云厂商入局的唯一路径。
三、为 AI 量体裁衣:Mojo 的三个核心设计
Mojo 称自己「面向 AI」,不只是因为它能写 AI,而是它从一开始就针对 AI 工作负载和硬件来设计。
1. 异构计算是第一公民
Mojo 假定目标平台不是单一 CPU,而是包含多核 CPU、GPU、各类 Tensor/Matrix 单元的异构系统。语言内建对向量化(SIMD)、并行计算和设备内核的支持。配合 MLIR 编译栈,可以用同一种语法写 CPU 和 GPU 内核,不用在 Python、CUDA、C++、各家 DSL 之间来回切换。
需要注意的一个事实:开源版 Mojo 1.0 的标准库目前不含 GPU 模块——GPU 编程能力随 MAX 平台(Mojo 推理框架)提供。语言层的 SIMD、参数化、元编程是全部开源的。
2. 性能模型:零成本抽象
「快 35000 倍」是 2023 年发布时特定基准的数字,听个响就好。真正有意思的是它的实现路径:
- 值语义 + 所有权系统管理内存,编译期尽量消除引用计数开销
- 小类型(Int、Float、SIMD)永远走寄存器传值
- **编译期元编程(comptime)**做专门化和自动调优,为不同硬件生成不同的代码版本
在保留高级语法的前提下,同等算法逼近甚至超过 C/C++——这是它敢叫板 Python + C++ 双层栈的底气。
3. 与 Python 的平滑互操作
Mojo 在语法上刻意向 Python 靠拢:函数、缩进、控制流都充满 Python 味道。你可以直接 Python.import_module("numpy") 调用 Python 模块,甚至可以在 Mojo 项目里嵌入 Python 代码,然后逐步用 Mojo 重写性能关键路径。对存量 AI 团队来说,这是所有新语言里迁移成本最低的一条路。
四、Mojo 1.0 语法现状:网上老教程已过时
一个容易被忽略的事实:Mojo 在走向 1.0 的过程中大改过语法,2024 年前的中文教程基本已失效。以下是 1.0 官方文档确认的几个关键点:
# 1. 函数统一用 def(旧的 fn 已不再是主角)
def calculate_average(temps: List[Float64]) raises -> Float64:
if len(temps) == 0:
raise Error("No temperature data") # 错误处理:raises + try/except
var total = 0.0
for temp in temps:
total += temp
return total / Float64(len(temps))
# 2. 变量必须用 var 声明(let 已移除)
# 3. t"..." 模板字符串:花括号直接插值,无中间内存分配
def main():
var temps: List[Float64] = [20.5, 22.3, 19.8]
print(t"平均温度: {calculate_average(temps)}")# 4. 所有权约定彻底重做:不再是 borrowed/inout/owned
def add(mut x: Int, y: Int): # mut = 可变引用(替代旧的 inout)
x += y
def take(var s: String): # var = 获得所有权(替代旧的 owned)
pass
take(my_string^) # ^ 转移符:交出所有权后原变量失效# 5. 编译期参数 + comptime 元编程
def repeat[count: Int](msg: String):
comptime for i in range(count): # 编译期展开循环
print(msg)
# 6. struct + trait 取代 class 继承体系
@fieldwise_init
struct MyPair(Copyable):
var first: Int
var second: Int本站已配套上线一套基于 1.0 语法的中文学习模块(环境搭建 → 语法 → 所有权 → SIMD → Python 互操作 → 手写矩阵乘法),入口见导航栏「Mojo学习记录」。
五、生态现状:编译器开源之后
技术之外,决定 Mojo 能走多远的是生态:
- 开源许可:Apache 2.0 + LLVM 例外条款,硬件厂商、云厂商、研究机构都可以自由扩展和集成,不受商业许可限制。外部向编译器贡献代码的通道也在陆续打开
- MAX 平台:Modular 自家的推理框架,Mojo 的「官方大型实战项目」,MAX 的许可在开源同期移除了设备使用限制,转向 source-available 模式并筹建开放联盟
- 高通背书:收购完成后三周内就推动编译器开源,高通显然打算把 Mojo+MAX 作为对抗 CUDA 锁定的战略资产——每瓦特性能决定推理成本,推理成本决定 AI 能否规模化
- 流行度:TIOBE 等指数上 Mojo 目前还排不上号,与 Python、C++、Java、Rust 相比生态体量仍处早期
六、它会取代 Python 吗
至少未来两三年内,答案是否定的。
Python 的护城河从来不是语言本身,而是三十年的生态沉淀——数百万开发者、几乎所有 AI 框架的第一接口、教学体系、招聘市场。Mojo 再优秀,也改变不了「生态体量还在早期」这个事实。
更现实的定位是分层共存:
- Python 继续写胶水、做实验、跑大部分业务逻辑
- Mojo 接管「吃性能、吃硬件」的模块——算子内核、推理服务、调度器,那些过去必须写 C++/CUDA 的地方
- 两边通过原生互操作无缝衔接,而不是 FFI 拼接
对开发者的务实建议:在继续用好 Python 的同时,挑一两个真正吃性能的模块用 Mojo 重写试试——GPU 内核不好上手,但 SIMD 向量化、数值计算这类 CPU 侧模块门槛不高,能直接感受到「一门语言同时写上层和底层」是什么体验。
七、展望
Mojo 刚过 1.0,官方路线图上还有异步编程模型、模式匹配、代数数据类型、更友好的包管理等待补项。它到底会成为「AI 时代的 C++」,还是又一个技术方向正确但生态没跑起来的语言,取决于未来两三年高校、芯片厂、云厂商会不会真的押注它。
但有一件事是确定的:AI 基础软件栈的异构化浪潮才刚开始,无论最终赢家是不是 Mojo,「用一门语言统一上层易用性与底层性能」这个需求是真实存在的。五年十年后我们再谈 AI 编程语言格局时,大概率绕不开这个名字。
参考来源
- Modular 官方:Mojo 全面开源公告(2026.08.18,Apache 2.0 + LLVM 例外)
- Mojo 官方文档 1.0:Quickstart 与语言基础
- 高通官方新闻稿:宣布收购 Modular(2026.06.24)
- Jon Peddie Research:Qualcomm opens Mojo to challenge CUDA(收购于 2026.07.29 完成,约 31–39 亿美元全股票)
- RuntimeWire:Modular open-sources Mojo three weeks after Qualcomm acquisition
- FOSS Force:Modular's Got Its 'Mojo' Working Fully Open Source