学 Python 三个月,让 AI 写代码还是只会说'帮我写个计算器'——问题出在哪?一篇论文测了 20 种语言,Elixir 碾压级胜出,原因是 AI 友好的语言设计哲学。
选语言,也得想想 AI 的感受
五年前选技术栈很简单:哪种语言最适合解决问题?团队对哪种更熟?开干。
2025 年不一样了。不管你爱不爱 AI 代码生成工具,它都已经存在。就算你坚持自己写代码,AI 也在参与维护你的代码。所以那句话值得重新想想——"你不是在为自己写代码,而是为下一个工程师写代码"。现在得加一条:你也是在为 AI 写代码。
如果 AI 训练时根本没见过多少你的语言的优秀代码,那它帮别人维护你的代码时,表现会有多糟糕?
很多人以为 AI 代码生成的王者只有两个:Python 和 JavaScript。但最近一篇论文让我重新审视这个判断——事情远非表面那么简单。
剧透:Elixir 才是这匹黑马。
希望尚存
这篇论文来自腾讯 AI 研发团队,叫做 AutoCodeBench。他们用一种"无需人工标注"的方法,生成了涵盖 20 种编程语言的多语言代码生成数据集。
这个数据集有什么特别?
之前大多数 benchmark 都集中在 Python 上,而这个数据集让我们第一次用偏差更小的方式比较不同语言、不同模型之间的 AI 代码生成能力。
数据说话
测试的核心指标叫 Pass@1——模型在第一次尝试时做对问题的比例,越高越好。
结果很有意思:
- Claude Opus 4、GPT-4.1 这样的顶级模型,整体约 50%
- 但 Elixir 在推理和非推理模式下都突破了 80%,远超其他所有被测语言
这意味着什么?AI 第一次尝试写 Elixir 代码,比写 Python 或 JavaScript 代码的正确率高出一大截。
为什么是 Elixir?
原因一:语言本身对 AI 很友好
Elixir 是函数式编程语言,不是面向对象的。这意味着:
- 不可变性:数据不会被偷偷修改,AI 不需要追踪"藏在某处的隐藏状态"
- 管道操作:
data |> transform() |> another(),语义清晰,AI 看到的就是实际的步骤
Elixir 语法紧凑一致,标准库只有约 120 个核心模块、2000 个公共函数。相比之下,Python 有约 15,000 个函数。更少的函数、更清晰的模式,AI 犯迷糊的概率本来就低。
原因二:训练数据的质量
编程语言的"年龄"是双刃剑。太新,没足够训练数据;太老,有几十年的遗留代码和过时写法拖后腿。
Elixir 2011 年诞生,正好处于"金发女孩区"——有足够多的训练数据积累,又没有太多历史包袱。
更重要的是,Elixir 社区的代码质量普遍较高。Elixir 往往吸引有经验的开发者,所以公开代码库里"好代码"的比例更高。AI 在学习这门语言时,吃到的"坏例子"更少。
但是,AI 真的帮得上 Elixir 开发者吗?
斯坦福有一项研究提出了相反的结论:任务复杂度增加时,AI 可能反而降低小众语言开发者的生产力。
这里有个细节——这项研究由 Microsoft 资助,没有测试 Claude 系列模型。而根据很多 Elixir 开发者的实际体验,Claude 编写 Elixir 代码的能力远优于 Copilot 或 OpenAI 的模型。
还有一点不能忽视:Elixir 开发者通常对代码质量非常讲究。管道操作、模式匹配、低圈复杂度——如果 AI 生成的代码"能用但看着不对",我们会忍不住重写。这不是 AI 不擅长 Elixir,而是 Elixir 的问题本来就够结构化,需要 AI 帮助的地方本来就不多。
结论
我们不必被迫接受 Python 或 JavaScript 成为 AI 代码生成的通用语言。Elixir 证明了这一点——优质的模式和高质量的训练数据,可以让一门语言在 AI 时代继续闪耀。
对于 AI 代码生成这件事,语言的设计哲学比"市场占有率"更重要。不可变性、清晰的语法、更少的历史包袱,这些特性让 Elixir 成为 AI 的好朋友。
当然,语言和框架对问题的适配程度始终重要。Elixir 在容错并发方面有天然优势,这些领域它本来就是重量级竞争者。
原文链接: https://revelry.co/insights/artificial-intelligence/which-language-is-best-for-ai-code-generation/[2]
引用链接
[1]https://revelry.co/insights/artificial-intelligence/which-language-is-best-for-ai-code-generation/
[2]https://revelry.co/insights/artificial-intelligence/which-language-is-best-for-ai-code-generation/