人工智能会迫使代码进化,还是会让其走向消亡?

7
分类佳文共赏
作者David Cassel
来源跳转
发表时间

内容

什么样的语言算是 AI 优先的语言?去年,西班牙的一名开发者警告说,我们对人机友好的语法消耗了“过多”的令牌 —— 从而增加了成本 —— 并且阻止了复杂的程序在现有的 AI 上下文中运行。“我让 Claude 发明了一种编程语言,其唯一关注点是 LLM(大语言模型)效率,”该开发者在 Reddit 上解释道,“无需考虑它如何服务于人类开发者。”

而他们尝试的“AI 优先原生语言”并非最后一次。就在上周,一名开发者宣布计划推出一种新语言,以满足自主 AI 代理的需求,具有“确定性”语法,可以阐明开发者的意图,并且具有较小的语言表面,以减少边缘情况。

GitHub 的高级开发者倡导者 Andrea Griffiths 和通讯稿《Main Branch》的撰稿人已经看到了“AI 优先”语言的实验。然而,Griffiths 告诉 The New Stack,目前尚未有任何具有显著采用率的语言。

“而且我认为这很能说明问题,” Griffiths 说。“现有生态系统的吸引力非常强大 —— 库、工具、社区知识、生产基础设施。新语言不仅需要对 AI 更好,还需要证明放弃开发者已经拥有的所有东西是合理的,而这种转变不会在一夜之间发生。”

“新语言不仅需要对 AI 更好,还需要证明放弃开发者已经拥有的所有东西是合理的,而这种转变不会在一夜之间发生。”

我们最终会开发出一种 AI 优化的语言,而损害人类可读性吗?或者 AI 编程代理会使使用现有的语言变得更容易,尤其是那些具有内置安全优势的静态类型语言?我们可以想象一个拥有 AI 优先语言的世界,它们抽象出所有内容,生成无需源代码即可编译的模块吗?

开发者、语言设计师和开发者倡导者现在开始提出这些问题……

Chris Lattner 的 Mojo 与 Rust

在 AI 时代,编程语言应该是什么样子?答案远不止一个。在 Scott Hanselman 主持的最近一集 The Hanselminutes Podcast 中,Hanselman 与 Chris Lattner 讨论了这个话题,Chris Lattner 是 AI 工具公司 Modular AI 的联合创始人兼 CEO。

Lattner 的职业生涯包括创建 Swift 编程语言和 LLVM 编译器工具链 —— 但他关注的是硬件的变化,他认为随着今天的多核和 AI 优化芯片的出现,“我们拥有这些强大的 GPU 和大量的计算资源,但没有人知道如何编程它们!”

“我们拥有这些强大的 GPU 和大量的计算资源,但没有人知道如何编程它们!”

因此,Lattner 的公司在为开发者构建 AI 工具的同时,也在致力于新的编程语言 Mojo,Lattner 认为 Mojo 是“LLVM,但适用于 AI 芯片,基本上……一种可以在所有硅芯片上扩展的编程方式。”

Hanselman 的播客将其称为“适用于 AI 世界的编程语言”。

▶ 视频

Tech 发展迅速,不要错过任何一集。请订阅我们的 YouTube 频道,观看所有播客、采访、演示等。

但是其他人仍然认为 AI 会推动程序员使用现有的具有内存安全性的编程语言,包括 Datacurve 的首席工程师 Peter Jiang(该公司提供高质量/复杂数据)。本月早些时候,Jiang 在 Forbes 上撰写了一篇文章,称 Rust 是“意外的编程时代引擎……当 AI 编写代码时,Rust 的严格性不再是障碍,而是免费的质量保证,”Rust 编译器充当“防护栏,强制 LLM 证明其逻辑是健全的。”

这是一个有吸引力的优势,GitHub 的开发者倡导高级总监 Cassidy Williams 指出。 一月份,Williams 引用了一项 2025 年的学术研究,该研究发现 94% 的 LLM 生成的编译错误是类型检查失败。

类型语言的胜利?

有数据显示,开发者正在利用这些优势,而不仅仅是转向 Rust。Williams 补充说,TypeScript“现在是 GitHub 上使用最多的语言,截至 2025 年 8 月,其使用量超过了 Python 和 JavaScript”,其原因之一是“AI 辅助开发的推动……TypeScript 在 2025 年增长了超过 100 万贡献者(+66% 年增长率,2025 年 8 月 vs. 2024 年 8 月),估计有 260 万开发者。” 而其他类型语言也证明了这一趋势,Williams 分享了更多 GitHub 数据的例子:

  • “Luau,Roblox 的脚本语言,作为一种逐渐类型化的语言,年度增长率超过 194%。”
  • “Typst,经常与 LaTeX 比较,但具有函数式设计和强类型,年度增长率超过 108%。”
  • “甚至 Java、C++ 和 C# 等较老的语言在今年的报告中也比以往任何时候都增长得更多。”

因此,虽然 AI 可能会影响编程语言,Griffiths 说,它不一定会通过转向新的 AI 优化语言来实现。“实际上发生的是更微妙的变化:已经结构化、强类型和明确的语言变得更加有吸引力,因为 AI 工具与它们配合得更好。TypeScript 取代 JavaScript。Rust 取代 C。Python 的类型提示正在成为标准实践。变化不是新的语言,而是现有语言的转变。”

“变化不是新的语言,而是现有语言的转变。”

Griffiths 在上个月的 GitHub 博客上详细阐述了这一点,写道像 Rust 这样的强类型语言对 AI 施加了“更清晰的约束”,从而导致“更可靠、上下文正确的代码”。同时,“选择强大但复杂的语言的惩罚随着 AI 处理语法而消失。事实上,GitHub 最近发布的数据显示,在 AI 生成的项目中,即使是 shell 脚本也跃升了 206%,Griffiths 指出。“AI 消除了使 shell 脚本编写痛苦的摩擦。

“所以现在我们使用合适的工具来完成任务,而无需通常的成本。”

现有语言 — 或根本不需要语言?

密切关注这一切的是 IEEE Spectrum 的特约项目编辑 Stephen Cass。自 2019 年以来,他为 IEEE Spectrum 编制了编程语言的受欢迎程度排名(这是一项始于 2013 年的传统)。但是,今天的语言受欢迎程度会永远停滞不前吗?Cass 在 9 月份问道。

在拥有 AI 驱动的编码工具的世界中,新兴语言是否可能面临障碍,因为大型语言模型在训练时最好使用具有多年历史示例的大型代码库?Cass 想知道 AI 是否也会以其他方式阻碍新语言的开发 —— 因为“如果 AI 正在缓解我们对今天的语言的烦恼,任何新语言是否会达到产生影响所需的临界质量?”

但 Cass 也是少数对为 AI 代理专门创建新语言的可能性感兴趣的人之一。Cass 的文章认为,语言基本创建了人类友好的抽象(和安全预防措施)——但是“一个足够先进的编码 AI 真的需要多少抽象和防止出错的结构?” Cass 提出了关于我们未来的终极问题:“我们能否让 AI 直接从提示跳转到可以输入我们选择的解释器或编译器的中间语言?在那个未来,我们真的需要高级语言吗?”

Cass 承认了明显的缺点。(“当然,这会把程序变成难以理解的黑盒,但它们仍然可以分成可测试的模块,以确保理性和质量检查。”)但是“与其尝试阅读或维护源代码,程序员只需调整他们的提示并重新生成软件。”

卡斯承认了显而易见的弊端。(“诚然,这会把程序变成难以理解的黑盒,但它们仍然可以被分成模块化的可测试单元,以便进行健全性和质量检查。”)但是,“与其试图阅读或维护源代码,程序员只需调整他们的提示,重新生成软件即可。”

这引出了一些令人惊讶的假设性问题,比如“在没有源代码的未来,程序员的角色是什么?”卡斯提出了这个问题,并在 10 月宣布举办一个“紧急互动会议”,讨论人工智能是否标志着我们所知的不同编程语言的终结。

▶ 网络研讨会:人工智能会终结不同的编程语言吗?

技术发展迅速,不要错过任何一集。请订阅我们的 YouTube 频道,观看所有播客、采访、演示等。

如果……

▶ 那场网络研讨会中,卡斯表示,他相信未来的程序员仍然会建议接口,选择算法,并做出其他架构设计选择。显然,生成的代码需要通过测试,卡斯说,并且“必须能够解释它正在做什么。”

但是,哪些抽象概念可能会消失?然后,“当我们真正让人工智能摆脱这种限制时,会发生什么?”卡斯问道——当我们“停止费心”让它们用高级语言编码时。(毕竟,高级语言“是为人类准备的工具。”)

“如果我们让机器直接创建中间代码呢?”(卡斯认为机器语言级别对于栈来说太低了,“因为您确实需要一个编译层来进行不同的架构……”)

这些想法引起了网络研讨会联合主持人迪娜·根基纳(该网站的计算/硬件专题编辑)的怀疑。根基纳同意,今天的编程语言正在为人类提供“防护栏”,以防止做出愚蠢的事情。但是,即使在尝试使用人工智能友好型微优化的新语言的世界中,“我觉得这是一个悬而未决的问题,人工智能是否需要更多的防护栏或更少的防护栏…… 我不是说这不可能,但我现在还看不到一条通往那里的路径……”

因此,无论向更人工智能友好的语言迈出什么步伐,根基纳得出结论,最终,我们的新机器驱动的配对程序员仍然需要进行代码审查。“绝对有一群人相信你需要一个人在循环中……无限期…… 我认为如果我们不理解它在做什么,这就会增加恐惧…… 人工智能的可解释性将变得越来越重要,尤其是在这样的事情上。”

卡斯轻笑着指出,我们甚至可能引入“全新的故障”,就像他所看到的“无人驾驶汽车困境…… 比如,‘好吧,你知道,它可能会杀死不同的人,但如果它杀死的人总体上较少…… 在这种未来,问题可能会变成‘如果你的错误较少,但它们是不同的错误,你怎么办?’”

卡斯说,他正在关注有关为人工智能设计语言的研究论文,尽管他同意这不是一个“明天”的事情——毕竟,我们现在还在消化“vibe coding”。但是“我可以看出这将成为一个活跃的研究领域。”

尽管他也同意人工智能的沙盒环境会比较好……

无代码编程仍然是“推测性的”

本周,联合主持人迪娜·根基纳在接受 The New Stack 采访时仍然持怀疑态度,她说:“据我所知,无代码编程仍然是推测性的。”

而在 MainBranch.dev,高级开发人员安德烈亚·格里菲斯(Andrea Griffiths)也同样持怀疑态度。“我们会看到针对人工智能读者而非人类维护人员的语言进行优化吗?我会对此表示怀疑。代码仍然需要被调试、审计和被人类理解,尤其是在生产环境中出现问题时。没有哪个工程团队会部署他们无法检查的代码。”

但格里菲斯认为,更可能出现的结果是人工智能“改变了人类需要阅读的内容”。

格里菲斯说,我们应该想象一个这样的未来:在那里,“你花在阅读样板代码上的时间更少——而花在审查架构决策、边缘情况和安全边界上的时间更多!”

评论

(0)
未配置登录方式
暂无评论