Mojo 1.0正式发布:用Python语法写出C速度,5分钟跑起第一个程序

· 小白基础技术分享

先给结论

8 月 11 日,Modular 官方宣布 Mojo 1.0 正式发布——这个号称”像 Python 一样写、像 C++ 一样跑”的语言,终于结束了频繁变动的开发期,进入稳定版本。对想兼顾”开发效率”和”运行性能”的开发者来说,现在是可以认真入坑的时点。本文带你 5 分钟装好 Mojo 1.0,跑起第一个程序。

Mojo 1.0正式发布:用Python语法写出C速度,5分钟跑起第一个程序封面

Mojo 是什么,为什么值得学

Mojo 是 Modular 公司推出的系统编程语言,2023 年首次亮相,语法几乎就是 Python 的超集,但它会编译成原生机器码,能直接写 CPU/GPU 高性能代码。核心卖点有三个:

Python 用户零门槛:会写 Python 就能看懂 Mojo,`def`、`print`、循环都是熟悉的味道。

性能向 C 看齐:静态类型 + 编译执行,官方定位就是”消除 Python 的性能瓶颈”。

AI 原生:内置对 GPU、张量的支持,写 AI 推理和训练代码不用切语言。

1.0 版本的意义在于语言 API 稳定:1.x 阶段只会做加法式演进,不再像 beta 期那样频繁改语法。社区已经贡献了超过 1100 个 PR,标准库开源,官方还承诺 2026 年内开源编译器和工具链。

第 1 步:安装 Mojo 1.0

Mojo 1.0 现在通过 Python 生态的 `uv` 安装(比旧版 `modular` 包更简单):

# 安装/升级 Mojo 本体
uv pip install --upgrade mojo

# 可选:需要 GPU/模型生态时安装全套 MAX
uv pip install max[all]

前置条件:需要已安装 Python 3.10+ 和 `uv`(没有就先 `curl -LsSf https://astral.sh/uv/install.sh | sh`)。

第 2 步:写第一个程序

新建 `hello.mojo`:

def main():
    print("Hello, Mojo 1.0!")
    # Python 风格列表推导,Mojo 直接支持
    squares = [x * x for x in range(10)]
    print(squares)

第 3 步:编译运行

mojo run hello.mojo

看到输出 `Hello, Mojo 1.0!` 和平方数列,说明安装成功。想生成可执行文件就改成:

mojo build hello.mojo
./hello

验证一下”Python 速度”的差别

写个循环求和对比:

def main():
    var total: Int = 0
    for i in range(100_000_000):
        total += i
    print(total)

同样逻辑用纯 Python 跑通常要几秒,Mojo 编译执行在毫秒级——这就是”性能向 C 看齐”的直观体验。

常见失败与处理

`uv` 命令找不到:先安装 uv,或改用 `python3 -m uv pip install –upgrade mojo`。

安装后 `mojo` 命令不存在:确认 `uv pip` 安装到了当前 Python 环境的 bin 目录,必要时重启终端。

1.0 之前的旧代码跑不起来:beta 期语法有收敛,老代码需要对照 1.0 迁移说明改(主要是变量声明、闭包、指针类型的变化)。

和现有方案比,Mojo 强在哪

Python 加速方案并不少,Numba、Cython、PyPy 各有拥趸,Mojo 的差异在三点:第一,语法不”变形”——Numba 要加装饰器、Cython 要写 .pyx 扩展,Mojo 直接写 Python 风格代码编译即可;第二,一套代码通吃 CPU 和 GPU——不用学 CUDA 就能写 GPU 内核,官方提供的 `vectorize`、`TileTensor` 抽象让并行计算门槛大幅降低;第三,可编译成独立可执行文件——部署时不依赖 Python 运行时,这让它更适合做工具链和嵌入式场景。当然 Mojo 的生态还年轻,第三方库数量远不如 Python,最务实的用法是:Python 写业务逻辑,Mojo 写性能热点,两者通过互操作无缝衔接。

谁适合现在入坑

被 Python 性能折磨的数据/算法开发者想入门 GPU 编程又怕 C++ 难度的同学关注”Python 系系统语言”的技术爱好者。如果你只想快速出活、不在乎性能,继续用 Python 完全没问题——Mojo 是给”性能敏感”场景准备的。

一句话

Python 的舒服,C++ 的速度,Mojo 1.0 第一次把两者稳定地打包交付了。

🔥 关注LC智趣厅,实用技术教程持续更新

👇 收藏转发,和小伙伴一起上手 Mojo


— END —
LC 智趣厅 · 科技与生活的交点
ihygg.cn

Scroll to Top
微信公众号:LC智趣厅

扫码关注微信公众号
LC智趣厅