随着生成式人工智能重塑软件开发,自然语言命令正在取代传统的编程语法,但专家们质疑英语是否能够达到代码的精确度。
译自 Can English Dethrone Python as Top Programming Language?,作者 Darryl K Taft。
2024 年最热门的编程语言是英语。
没错,普通的英语,或者说是自然语言,去年成为顶级语言,并继续作为生成式 AI (GenAI) 的通用语占据主导地位,一些专家表示。
事实上,OpenAI 的联合创始人 Andrej Karpathy(他现在创办了一家名为 Eureka Labs 的新 AI+教育公司)在 2023 年就指出了这一点。
The hottest new programming language is English
— Andrej Karpathy (@karpathy)
[January 24, 2023]
Omdia 的分析师 Brad Shimmin 告诉 The New Stack,Karpathy 的说法“完全正确”。
Shimmin 说:“年度最大的编程语言必须是自然的、口语化的人类语言,它具有 GenAI 代码补全功能,甚至像 Aider 和 Cline 这样的全栈开发工具,使开发人员能够使用,比如说英语,作为一种声明式编程语言。”
他补充说,他认为整个 IT 行业几十年来一直在朝着这个方向发展,创建越来越高的抽象层次,使开发人员能够更多地关注他们希望程序执行的“什么”类型的任务,而较少关注程序应该“如何”执行该任务。
事实上,Shimmin 告诉 The New Stack,他认为向自然语言编程接口的转变代表了软件开发的一个重大演变,堪比编译器的引入。
与此同时,使用英语作为编程语言使 Karpathy 能够启动一种新型的软件开发,他将其命名为“vibe coding”(参见相关文章)。Vibe coding 是一种使用 AI 的高级编码方法,用户从最终用户的角度描述需求,而不是技术规范。
Shimmin 指出,在 GenAI 领域中,支持使用英语进行编程的主要参与者包括 Microsoft、OpenAI、Anthropic、Google、IBM 和 AWS 等。他们正在开发具有改进的工具使用和结构化输出的模型。提到的一些关键开发平台包括带有 VS Code 的 GitHub Copilot、Replit(它是 AI 集成的早期采用者)、Aider、Cline、Cursor 和 Zed。
IDC 的分析师 Arnal Dayaratna 告诉 The New Stack:“我当然不认为英语是 2024 年最重要的编程语言,但它正在崛起。”
IDC 预测,到 2028 年,自然语言将成为使用最广泛的编程语言,开发人员将使用它来创建 70% 的全新数字解决方案。(来源:IDC FutureScape:全球开发人员和 DevOps 2025 预测)
Dayaratna 说:“我实际上认为,对这一预测的最佳措辞是将‘自然语言’替换为‘英语’,因为英语作为一种口语和书面语言在全球占据主导地位。”
此外,他说他认为在四到五年内,开发人员将越来越多地使用类似聊天机器人的界面,并使用自然语言来生成数字解决方案。与此同时,代码将用于创新支持这种技术的技术底层。
Dayaratna 说:“换句话说,我们离商业现成软件的消亡不远了,因为它将非常容易以自定义的方式为组织的业务流程创建此类软件。”
因此,他解释说,我们正在看到 Replit 的 CEO Amjad Masad 所说的“个人软件”时代的出现。
Dayaratna 说:“正如 Mac 在 1984 年开创了个人计算时代一样,生成式 AI 开创了‘个人软件’时代,它认识到个人和组织偏好的特殊性。”
Masad 告诉 The New Stack,英语目前是顶级编程语言,“完全正确”。
他说:“现在我们有更多的客户使用英语通过 Replit Agent 进行构建,而不是使用 JavaScript 或 Python 进行编码的客户。”
微软的 Mike Hulme 是 Azure Digital Apps and Innovation 的总经理,他发表了这家软件巨头的观点,他指出:“人工智能使我们能够完全用自然语言进行编程,帮助每位开发人员更快、更准确地编写代码,同时在全球范围内汇集新的开发人员人才。通过使用自然语言作为通用的编码模型,我们可以克服编程技能障碍,更轻松地理解和维护现有应用程序,并以对每个人来说更易于访问和高效的方式构建新的 AI 应用程序。”
Sriram Devanathan 是 Amazon Q Apps 和 AWS App Studio 的总经理,他告诉 The New Stack,编程语言对于精确操作仍然是必要的。“新的编程语言可能会出现在更高的抽象层次上。编程语言不会消失,但学习方法会不断发展,”他说。
Tabnine 的营销项目负责人 Ameya Deshmukh 告诉 The New Stack,OpenAI 的创始人将英语视为“最大的编程语言”并不奇怪,因为有大量的代码相关提示被输入到 ChatGPT 中。
“然而,根据我们的经验,将企业级 AI 代码助手与独立的 LLM 进行对比,会发现一个明显的差异:企业 AI 代码助手可以在几秒钟内完成(只需点击几下和简洁的提示),而独立的 LLM 通常需要数百个单词才能实现,”他说。
然而,成熟的工程团队仍然在编写比自然语言提示多得多的代码行,他说。“专为企业使用而设计的 AI 代码助手通过无缝集成到现有流程中来增强工作流程,使代码创建更快、更高效,同时保持工程团队的控制,”Deshmukh 解释说。
像 Pegasystems 这样的企业软件供应商正在拥抱 GenAI 和代理技术。
Pegasystems 的 CTO Don Schuerman 告诉 The New Stack,GenAI 使自然语言成为开发企业应用程序的强大起点。这种方法极大地加快了组织从想法到运行应用程序的速度,将曾经需要数周的时间缩短到几分钟。 “例如,成千上万的用户使用 Pega GenAI Blueprint 仅使用自然语言来设计工作流应用程序,这表明简单的英语已经从仅仅描述需求发展到积极塑造应用程序设计,”他说。
但是,应用程序开发的成功不仅仅是将英语转换为代码。多个利益相关者可以以不同的方式解释同一种语言,更重要的是,企业需要他们的应用程序在一段时间内可维护和可扩展,Schuerman 说。
“这就是为什么我认为自然语言提示和可视化低代码方法的结合会产生如此强大的结果,”Schuerman 补充说。“当业务用户可以用自然语言表达他们的需求,并立即看到它被转换为可视化的业务隐喻——工作流图、案例生命周期和示例用户屏幕——他们不仅可以快速入门,还可以确保每个利益相关者看到并理解相同的解决方案。”
他补充说,这种方法保留了自然语言的速度和可访问性,同时提供了企业长期成功所需的结构和治理。
然而,Omdia 的 Shimmin 不同意其中的一部分。
他说,传统的低代码/无代码工具可能变得越来越不相关。
“我觉得它们已经完成了它们的使命。我的意思是,我认为总是有……你可以使用的工具,比如规则引擎……那将非常有用。但是你知道低代码作为一个独立的市场?我觉得那不是我们真正关注的了。低代码作为一个独立的市场的日子已经一去不复返了……”
与低代码/无代码一样,GenAI 使几乎没有或没有技术培训或经验的人员能够构建应用程序,从而扩大了能够创建应用程序的人员数量。
Amazon 的 Devanathan 表示,Amazon 的 GenAI 产品使非传统开发人员能够创建应用程序,使初级开发人员能够更快地启动,并使专家开发人员能够专注于复杂的问题,因为 AI 可以处理编程的例行、样板工作。他说,不同的工具将会出现以支持各种用户类型。 “改变的是,工程师们花在无差别的、繁琐的样板代码上的时间减少了,而花在那些工程师们最初成为开发者的原因上的事情上的时间更多了,”Devanathan说。“所以,他们可以花更多的时间在真正有趣、困难的事情上。”
Intellyx的分析师Eric Newcomer说,生成式人工智能在理解自然语言查询并返回惊人的响应方面非常出色。
“我理解有些人说GenAI意味着你可以使用英语——或其他人类语言——作为一种编程语言,”他告诉The New Stack。“我明白人们为什么这么说,因为GenAI可以根据英语提示生成计算机代码。
“但说这使英语成为一种编程语言是不正确的。编程语言的存在是因为英语不够精确,无法成为一种编程语言。编程语言会被编译成可执行的二进制代码。LLM将英语转换成向量,GenAI使用统计概率来评估这些向量。”
然而,“这根本不是一回事。英语可能帮助你创建一个程序,但它不是可执行的。”
Arcjet的首席执行官兼创始人David Mytton说,考虑到英语在GenAI工具中的作用,将英语视为一种事实上的语言是合理的。
“然而,我认为缺乏精确性是一个关键问题。与明确且具有确定性的实际编程语言不同,英语可以有多种解释,”他说。“使用纯英语作为编程语言的缺陷之一。你永远无法100%确定你会得到什么。这是否重要实际上取决于你正在构建的应用程序。”
Shimmin说,诚然,英语作为一种编程语言面临着一些挑战,包括语言歧义和解释问题,企业环境中本体管理的需求,以及供应商之间缺乏标准化。
“每个供应商——Salesforce、SAP等——都有自己应对这些挑战的方法,”他说。