当前AI在编程领域的革命正带来一个奇怪的现象:AI正在用JavaScript、Python、TypeScript这些最初为人类编写而设计的语言生成代码。然而,现在编写代码的主体已不再是人类,而是AI。
这就引出了一个核心问题:既然AI在写代码,我们为什么还要继续优化代码的人类可写性呢?答案显而易见,人类仍然需要阅读这些代码,以进行验证、调试和维护。但实际情况是,我们目前使用的这些语言反而增加了阅读和理解的难度。例如,一段包含hooks、闭包和async/await的数百行React代码,即使是人类编写也难以验证,更何况是由AI生成,而你需要判断其可靠性。
那么,如果AI能够使用更简单的语言来编写代码,会怎样?
拥抱更简洁的编程语言
这并非是技术层面的简化,而是对代码经济学变化的一种深刻认知。
- AI在受限语法下错误率更低:如果给大型语言模型(LLM)一种词汇量小、一致性高、无语法歧义的语言,其错误率相比JavaScript或Python会显著下降。错误减少意味着更少的调试、返工和成本。
- AI生成简洁输出时资源消耗更少:生成30行可读脚本所需的Token,远低于生成200行实现相同功能的框架代码。在大规模应用中,这会带来真实的成本差异。
- 人类可以轻松验证简单代码:这是最关键的一点。如果无法判断AI生成代码的正确性,其价值几乎为零。一个非专业人士也能轻松理解以下代码:
on click SaveButton begin put the content of NameField into Name rest post Name to `/api/save` set the content of Status to `Saved` end并准确知道它的功能。但如果换成等效的React组件,则验证难度会大幅增加。 - 简单语言也能实现高性能:用WebAssembly或C语言编写的高级脚本语言,在大多数应用中,其性能与当前主流语言并无二致。这里的“简单”指的是表面语法,而非执行模型。
未来发展趋势
一个可能令人不安的预测是:不久的将来,大部分代码将由AI编写,而人类的任务将转变为对代码的验证(如果需要的话)。人类的角色将从“作者”转变为“审阅者”。而审阅者对代码的可读性要求,远高于作者。
当这种转变发生时,复杂语言的价值主张也会随之改变。JavaScript的灵活性、Python的生态深度、TypeScript的类型系统——这些对于人类作者来说是优势。但对于AI作者和人类审阅者的组合来说,它们反而可能成为负担。它们增加了出错的可能性,也让验证变得更加困难。
届时,我们真正需要的是一种“通用语”(lingua franca)——一种足够简单,让AI极少犯错;又足够可读,以便人类能够快速理解和验证的语言。