Mojo 1.0 Beta
摘要
Modular 宣布推出 Mojo 1.0 Beta,这是一种高性能编程语言,将 Python 的易用性与编译型语言的速度相结合,专为 AI 和系统编程设计。
暂无内容
查看缓存全文
缓存时间: 2026/05/08 08:27
# Mojo 源码: https://mojolang.org/ > 完整的 Mojo 文档索引,请参阅 llms.txt (https://mojolang.org/llms.txt)。所有页面的 Markdown 版本均可通过在任何 URL 后附加 .md 获取(例如 /docs/manual/basics.md)。
## 与众不同
现代 Mojo 从现代语言的精华中汲取灵感——如 Python 直观的语法、Rust 的内存安全性,以及 Zig 强大且直观的编译时元编程。
## 原生 AI
Mojo 从底层构建,旨在为驱动现代 AI 系统的多样化硬件提供最佳性能。作为一种已编译的静态类型语言,它也非常适合智能体编程(agentic programming)。
## 纯粹高性能
无需再在生产力与性能之间做出选择——Mojo 两者兼备。你可以从简单且熟悉的编程模式入手,并在需要时增加复杂性。
## GPU 编程
Mojo 让所有人都能轻松进行 GPU 编程,无需特定供应商的库,也无需单独编译的代码。你终于可以用同一种语言编写用于 CPU 和 GPU 的高性能内核。
```mojo
def vector_add(
a: TileTensor[float_dtype, type_of(layout), element_size=1, ...],
b: TileTensor[float_dtype, type_of(layout), element_size=1, ...],
result: TileTensor[
mut=True, float_dtype, type_of(layout), element_size=1, ...
],
):
var i = global_idx.x
if i < layout.size():
result[i] = a[i] + b[i]
```
## Python 互操作性
Mojo 原生支持与 Python 互操作,因此你无需重写所有代码即可消除现有代码中的性能瓶颈。你可以从一个函数开始,并根据需要逐步扩展,将性能关键型代码迁移到 Mojo。你的 Mojo 代码可以自然导入 Python 并打包以便分发。同样,你也可以将 Python 生态中的库导入你的 Mojo 代码中。
```mojo
# SIMD-vectorized kernel squaring array elements in place.
def mojo_square_array(array_obj: PythonObject) raises:
comptime simd_width = simd_width_of[DType.int64]()
ptr = array_obj.ctypes.data.unsafe_get_as_pointer[DType.int64]()
def pow[width: Int](i: Int) unified {mut ptr}:
elem = ptr.load[width=width](i)
ptr.store[width=width](i, elem * elem)
vectorize[simd_width](len(array_obj), pow)
```
## 编译时元编程
Mojo 的元编程与运行时代码使用相同的语言,提供了一套直观的系统以最大化性能。你可以通过条件编译构建特定硬件的优化,通过编译时求值确保内存安全,消除昂贵的运行时分支等——这一切都具备清晰定义的意图和零成本抽象。
```mojo
# Generic struct equality using compile-time reflection.
@always_inline
def __eq__(self, other: Self) -> Bool:
comptime r = reflect[Self]()
comptime names = r.field_names()
comptime types = r.field_types()
comptime for i in range(names.size):
comptime T = types[i]
comptime assert conforms_to(T, Equatable), "All fields must be Equatable"
if trait_downcast[Equatable](
r.field_ref[i](self)
) != trait_downcast[Equatable](r.field_ref[i](other)):
return False
return True
```
## 路线图
Mojo 诞生于 2022 年底,已经取得了长足的进步,但仍有许多工作要做。
**第一阶段**
实现核心解析器,定义内存类型、函数、结构体、初始化器、参数约定以及其他语言基础。
**第二阶段:高性能 CPU + GPU 编程**
使 Mojo 成为一种强大且富有表现力的语言,用于在 CPU、GPU 和 ASIC 上编写高性能内核,同时让开发者能够无缝扩展 Python。
**第三阶段:系统应用程序编程**
扩展 Mojo 以支持更多应用程序级编程,提供有保障的内存安全模型以及开发者在系统编程中所期望的更多抽象特性。
**第四阶段:动态面向对象编程**
支持更多 Python 的动态特性,如类、继承和无类型变量,以最大化与 Python 代码的兼容性。
## 开源
Mojo 标准库已在 GitHub 上完全开源 (https://github.com/modular/modular/tree/main/mojo/stdlib),我们欢迎贡献!我们也计划于 2026 年开源 Mojo 编译器。我们承诺将 Mojo 全部开源,但该语言仍然非常年轻,我们认为拥有一致愿景的紧密工程师团队比社区驱动的努力进展更快。如果你想参与其中,请加入我们的开发者社区! (https://mojolang.org/community/)
相似文章
Mojo 1.0
Modular announces the 1.0 release of the Mojo programming language, offering a stable foundation for developers building libraries, tools, and applications with enhanced features like Python-style lambdas, improved LSP, and memory safety diagnostics.
Mojo v1.0.0b1
Mojo,Modular 推出的高性能编程语言,已发布 1.0.0 beta 1 版本。
@Modular: Mojo 拥有极简的样板代码、严格的类型系统以及编译时验证,所有这些都使其非常适合……
Modular 发布了开源的 Mojo 智能体技能,帮助 AI 编码智能体生成正确且地道的 Mojo 代码,包括一个将 CUDA 内核代码翻译为 Mojo 的演示。Mojo 的极简样板代码、严格的类型系统和编译时验证使其适用于智能体工作流。
Mojo 编程语言即将开源
Mojo 是一种专为人工智能和高性能计算设计的编程语言,即将开源,从而促进更广泛的社区采用和贡献。
@Modular: Mojo 1.0 测试版现已发布!现在我们要倾听您的声音。请在我们的论坛 Mojo 1.0 子分类中分享问题并发起讨论...
Modular 已发布 Mojo 1.0 测试版,并邀请社区成员在其论坛和 GitHub 上提供反馈并报告问题。