AI写代码的能力真的越来越强了,不过很多程序员可能还没意识到这个变化到底有多大。很多人最近都觉得AI写代码的速度更快了,但大多数人对这个问题的理解其实还停留在表面。 其实,真正发生变化的是编程语言之间的竞争规则。有一项实验揭示了AI时代里语言的真相。最近有人用13种不同的编程语言,让AI去实现一个简化版的Git,一共测试了600次。这次实验主要关注三个指标:生成代码的时间消耗、代码量和成本。结果非常出人意料,让我们传统认知大受打击。 动态语言在这个实验中表现得非常出色。排名第一的是Python、Ruby和JavaScript,后面则是TypeScript、Rust和Haskell这些语言。而且差距还挺大,动态语言不仅更快、更便宜,还更稳定。 这意味着AI更喜欢动态语言。为什么会这样呢?其实很简单,因为动态语言的约束相对较少。 AI写代码的过程就是在满足一堆条件,比如功能要对、API要对、逻辑要通。如果你使用静态类型语言,还要额外满足类型必须完全正确这个条件。所以问题就来了,条件越多,AI越难同时满足这些要求。结果就是思考时间更长、使用更多token、成本也更高。 实验甚至量化了这种“代价”。比如Python加类型检查会慢1.6倍,Ruby加类型系统会慢2到3倍。一句话总结就是:类型系统对AI来说是一种“税”。 还有一个很有意思的现象是:代码越短,反而越慢。像Haskell和OCaml这些语言代码最短却表达力最强,但是它们让AI写得更慢。为什么呢?因为这些语言要求AI理解更多东西:抽象概念、类型推导还有函数组合等等。换句话说就是代码变短了但思考变重了。 对于AI来说写10行简单代码比写3行复杂代码还要轻松。 还有一个更扎心的结论:类型系统并没有救你。我们一直以为静态类型更安全,但这次实验中600次运行只失败了3次,全部来自Rust和Haskell。这说明类型系统并不能自动让AI写出更可靠的代码。 现在很多人都在争论Java和Go哪个好,Rust是不是未来语言的趋势等等。但其实更大的变化是游戏规则已经换了。 你知道在AI时代最好的语言是什么吗?不是最优雅的,而是AI最容易写的那个语言。