Chris Lattner 主导开发,融合 Python ergonomics 与 C 性能,专为 AI 规模计算设计,1.0 代表生产级稳定性承诺。
经过三年开发,Modular 的 Mojo 编程语言正式达到 1.0 版本。对于一直在关注 AI 基础设施领域的人来说,这是一个重大里程碑——Mojo 承诺带来 C++ 的性能与 Python 的易用性,且专为 AI 规模计算时代而设计。
Mojo 是一种系统编程语言,由 Modular 公司创建——该公司由 Chris Lattner 创立,Chris Lattner 同时也是 LLVM 和苹果 Swift 编程语言的原创作者。Mojo 于 2023 年首次发布,作为 Python 的超集,但此后已发展成为一种具有自身特色的通用语言。
核心理念很简单:Python 是 AI 和机器学习领域的主导语言,但它很慢。需要性能的开发者会降级使用 C++、CUDA 或汇编——这造成了一个双语言问题:原型在 Python 中完成,生产代码则需要重写。Mojo 通过提供类 Python 语法与 C 级性能,消除了这一鸿沟。
版本 1.0 不仅仅是一个数字——它代表了一种稳定性承诺。开发者现在可以基于 Mojo 构建生产系统,而无需担心语言会在脚下崩塌。1.0 版本的关键里程碑包括:
AI 开发栈有一个众所周知的性能瓶颈问题。训练和推理代码通常是这样的:
Mojo 将整个流程压缩了。你全程用 Mojo 编写,语言处理性能优化。同样的代码可以在 Jupyter notebook 中用于原型设计,也可以直接部署到生产环境,无需重写。
Mojo 最有趣的设计决策之一是它与 Python 的关系。Mojo 可以直接导入和调用 Python 包,这意味着你不必从零开始——你可以逐步将 Mojo 引入现有的 Python 代码库。该语言的语法也刻意贴近 Python,降低了数百万已掌握 Python 的开发者的入门门槛。
然而,Mojo 不再严格是 Python 的超集。该语言已经发展出自己独有的特性和惯用法,在性能要求的地方与 Python 有所不同。这是正确的选择——试图保持严格的 Python 兼容性会损害 Mojo 的性能目标。
Mojo 进入了一个拥挤的领域:
Mojo 的差异化在于其 AI 原生设计。Rust 和 Zig 是碰巧适用于 AI 的通用系统语言,而 Mojo 从零开始就是为 AI 工作负载所需的特定模式而构建的:张量操作、GPU 编程、异构计算和并行数据处理。
任何新语言最大的风险都是生态。Python 的主导地位不在于语法——而在于 PyTorch、NumPy、Pandas、scikit-learn,以及 PyPI 上数百万的包。Mojo 的 Python 互操作有助于弥合这一差距,但该语言最终需要一个繁荣的原生包生态系统才能真正竞争。
1.0 发布是生态建设的发令枪。有了稳定性保证,库作者现在可以安心投资 Mojo 包,而不必担心动荡。未来 12 个月将至关重要——如果社区构建出 AI 开发者所需的库,Mojo 有望成为 AI 基础设施的默认语言。
如果你是一名 AI/ML 工程师,经常为了性能而降级使用 C++ 或 CUDA,Mojo 值得关注。该语言直接解决你的痛点——双语言问题——而 1.0 稳定性承诺意味着你的投入不会白费。
如果你是一名很少需要原始性能的纯 Python 开发者,紧迫性较低。但随着 AI 模型越来越大、推理向边缘迁移,注重性能的编程正在成为更广泛领域内有价值的技能。
完整的 1.0 公告可在 modular.com/blog/modular-26-5-mojo-1-0-is-here 获取。