AI 时代,或许 Rust 比 Python 更合适
现在大模型编写代码能力产生质变,如果在问在 AI 生成代码(AI-Generated Code)的时代,AI 最适合写哪种语言? ,或许 Rust 比 Python / TS 更合适。
原因很简单:编程语言的评价标准,正在随着 Vibe Coding的盛行而发生根本性的改变。
Python 是人类开发者体验的胜利
我很喜欢 Python 因为它简单、优雅、灵活、符合人类直觉。
Python 的设计哲学强调代码的可读性和语法的简洁。不需要定义繁杂的类型,不需要管理内存的分配,甚至连大括号都省了。对于**碳基生物(人类)**来说,Python 极大地降低了认知负荷,让我们能把精力集中在业务逻辑上。在过去,程序员的脑力和打字速度是瓶颈,而 Python 完美地解决了这个痛点。
但是动态类型带来的隐式 bug,是较差的运行性能,以及重构大型项目运行时报错。人类写得爽,妥协了机器运行的可靠性。
Vibe Coding 时代
借助 cursor、gitHub copilot、codex,claude code 等强大的 AI 工具,直接敲击键盘去写具体的实现代码变得更少。更多提供意图、编写 Prompt,而 AI 负责生成数百上千行的代码。
如果写代码的不再是人类,那些为了迎合人类而设计的语言特性(如动态类型、极简语法)或许不太重要了
这正是 Rust 迎来破局点的原因。
Rust 的反人类缺点,我觉得在 AI 面前不值一提
Rust 长期以来的口碑是:运行快、极其安全,但是太难学、太难写。
所有写过 Rust 的人都体会过被所有权机制、生命周期和借用检查器支配的恐惧。
但是AI 不会因为繁琐的语法感到疲惫,也不会因为严格的类型推导而产生挫败感。那些曾经让人类痛苦不堪的 Rust 门槛,对 AI 来说基本不存在。
然后就是 Rust 的特性与 AI 生成代码的需求相符合:
1. 严格的编译器
AI 是有幻觉的,它生成的代码虽然看起来一本正经,但可能存在逻辑漏洞或调用了不存在的方法。
- 在 Python 中,因为它是动态类型和解释执行的,AI 生成的错误代码常常能顺利运行,直到某个边缘条件被触发时才在运行时崩溃。这需要人类写大量的测试用例去防范。
- 在 Rust 中,只要编译通过,大概率就能跑。Rust 有严格的编译器。AI 生成的代码有极其细微的类型不匹配或内存泄露风险,都会被编译器拒绝。
2. 完美的AI 自我修复闭环
AI 修 Bug 的能力很大程度上取决于它能获得什么样的报错信息。
- Python 的运行时报错有时缺乏上下文,或者堆栈信息极其冗长。
- 而 Rust 拥有全宇宙最友好的编译器报错。Rust 的报错不仅会告诉你哪里错了,还会详细解释为什么错,甚至直接给出修改建议。
- 当 AI 生成的 Rust 代码编译失败时,Agent 可以直接将这段极其详尽的编译器报错回传给自己。AI 看报错 -> AI 瞬间理解 -> AI 修复代码 -> 再次编译。在这个闭环下,Rust 能很好的引导 AI 写出正确代码。
3. 极致的性能与安全性
如果让 AI 生成代码的成本是一样的,那为什么不让它生成一份性能比肩 C++、且没有内存溢出风险的代码呢?Python 如果遇到性能瓶颈将很难受,而 Rust,从一开始就获得了高性能的终端产物,且几乎零附加成本。
结语
一个类型严格、编译严苛、报错清晰的语言,天然就比动态语言更适合大模型去推导和验证。
欢迎在评论区分享你的"Vibe Coding"体验!