人工智能编程工具目前正在从辅助程序员补全代码,进一步进入能够自主读取代码库、修改文件、运行测试、修复错误和完成多步骤开发任务的阶段。Anthropic旗下Claude Code是这一变化的代表之一。随着模型能力和智能体工具持续提升,AI在真实软件项目中承担的工作已经从局部代码建议扩大到连续执行任务。与此同时,Claude Code创建者、Anthropic工程师Boris Cherny提出,人工智能带来的变化可能继续延伸到编程语言本身:未来的软件世界未必只向少数主流语言集中,当语言开发、代码迁移和工具构建成本下降后,新的专业语言和计算表达方式可能加速出现。
这一变化同时影响软件行业的两个基础问题。第一个问题涉及人:当AI能够直接生成越来越多可运行代码,学生和开发者是否仍有必要投入大量时间学习Python、Java、JavaScript和C++等传统编程语言。第二个问题涉及机器:如果未来相当比例的代码首先由AI生成,那么主要围绕人类阅读、书写和维护习惯形成的语言设计原则是否仍然适用,以及AI能否帮助开发出一批更容易生成、更容易验证、针对特定任务效率更高的新语言。现阶段的应用和研究尚未形成最终答案,但两条趋势已经逐渐清晰——手工编码和语法记忆的重要性正在下降,而理解计算机系统和验证软件结果的价值仍然存在;新语言最可能首先在领域专用语言和结构化中间表示中增加,而不是立即出现一种全面替代Python的新通用语言。
AI降低手工编码门槛,编程学习重点开始改变
过去数十年,学习编程通常从学习一种具体语言开始。学生学习Python,需要掌握变量、循环、函数、类和各种库的调用方式;学习Java,需要理解对象、类型和接口;学习JavaScript,则需要进一步处理浏览器环境、事件和异步执行。对于初级程序员而言,大量工作时间也曾用于查找API、修改语法错误、编写重复性接口,以及把已经明确的业务逻辑逐行转换成计算机可以执行的代码。
生成式AI正在首先压缩这一部分工作。Claude Code等智能体在获得项目文件和任务要求后,可以分析现有程序,并连续执行修改代码、运行命令、检查测试结果和继续修正等操作。AI由早期的代码建议工具逐渐成为能够参与完整开发流程的执行工具后,程序员是否能够迅速记住某个函数名称、是否能够脱离辅助工具手写大量标准代码,对开发效率的影响正在下降。
但软件能否运行,与软件是否正确、安全和能够长期维护并不是同一个问题。一个AI可以根据自然语言要求生成数据库、用户登录系统和后台接口,但数据库表之间如何建立关系、不同公司或者不同用户的数据是否真正隔离、权限规则是否可能产生越权访问、两个请求同时修改数据时是否出现冲突、系统发生异常后如何恢复,这些问题都超出了语言语法本身。AI能够产生代码,并不能自动消除数据库设计、网络通信、并发、安全和软件架构中的工程问题。
由此发生变化的不是“编程知识是否还有价值”,而是“哪些编程知识最有价值”。在AI能够承担更多实现工作的环境下,单纯记忆语法和依靠手工输入速度形成的优势可能继续下降,算法、数据结构、数据库、操作系统、网络、类型系统、权限模型、软件测试和系统架构的重要性则更加突出。这些知识决定开发者能否把现实问题拆解成机器可以执行的任务,也决定其能否识别AI生成程序中隐藏的逻辑错误、安全风险和结构缺陷。
这也使编程教育面对新的调整方向。Python等语言仍然可以作为理解计算机运行方式的重要入口,但学习一门语言本身不再适合作为最终目标。Python可以帮助初学者理解变量、函数、数据结构和程序执行,C和C++可以进一步展示内存和底层计算机制,数据库和网络课程则解释现代软件怎样保存数据并在不同系统之间通信。随着AI承担越来越多代码生成工作,学习这些技术的核心目的将更多转向理解软件为什么这样运行,以及如何判断机器产生的实现是否符合要求。
AI正在成为新的“代码作者”
当AI从辅助程序员逐渐转向直接生产代码,编程语言本身也开始面对一个过去并不存在的重要使用者。
目前广泛使用的主流语言首先是为人类程序员设计的。Python重视代码可读性和表达简洁,Java强调结构和类型体系,Go通过减少部分复杂语言特性提高大型工程的一致性,Rust则利用所有权和类型系统尽可能提前发现内存安全问题。这些语言虽然最终都由计算机执行,但在设计过程中必须考虑人怎样阅读、输入、理解、调试和长期维护代码。
AI对语言的需求并不完全相同。模型不会因为一个关键字需要输入十几个字符而增加工作负担,也不会因为一种操作只能按照固定形式表达而感到不便。对于机器生成程序而言,语言允许多少种不同写法、状态变化是否明确、变量关系能否自动检查、错误能否在运行前发现,可能比语法是否简短更重要。
2025年12月公布的一项Anka研究为这一方向提供了实验数据。研究人员设计了一个用于数据转换流程的领域专用语言Anka,并有意减少语言中的自由度。同一种操作尽量采用统一表达形式,中间结果需要明确命名,多步骤任务按照更加严格的结构组织。研究团队随后让此前没有接受过Anka训练的Claude 3.5 Haiku完成100项测试,结果获得99.9%的解析成功率和95.8%的整体任务准确率。在多步骤任务中,Anka达到100%的准确率,而Python为60%。
这一40个百分点的差距不能证明Anka整体优于Python。Anka针对的是特定数据转换任务,测试范围和语言用途远小于Python,也没有经历成熟通用语言长期生产环境的检验。但实验提供了一个重要结果:当任务范围明确时,通过减少表达方式、增加约束和明确中间状态,可以显著降低模型在多步骤代码生成过程中出现错误的概率。
这一结果改变了传统编程语言设计中的一个基本权衡。对于人类程序员而言,同一个问题能够采用多种方式实现通常意味着灵活性;对于生成代码的模型而言,每增加一种合法路径,也增加了一种需要选择和判断的可能性。未来部分面向AI的语言因此可能采取与传统语言不同的方向,不追求更多语法糖和更大的表达自由,而是减少合法写法、强化类型和结构约束,让模型更容易产生能够通过编译器和验证系统检查的结果。
AI降低造语言成本,但成熟生态仍是主要门槛
Boris Cherny提出未来可能出现更多新编程语言,一个重要前提是创造和采用语言的成本正在发生变化。过去设计几个关键字并不困难,真正昂贵的是让一种语言成为能够使用的工程工具。新语言需要解析器、编译器或解释器,需要调试器、测试框架、编辑器支持、标准库、技术文档和教学材料;进入企业以后,还需要解决人员培训、旧系统迁移、长期维护、版本兼容和安全审计等问题。
AI正在同时进入这些环节。大语言模型已经可以帮助开发者设计语法、编写解析器和编译器代码、生成测试、整理文档、制作示例,并协助把已有程序从一种语言迁移到另一种语言。当语言拥有明确规范后,模型还可以根据这些规范直接生成程序。过去需要不同团队分别完成的语言开发、文档建设和代码迁移工作,现在可以获得同一类AI工具的辅助,这使实验性语言从概念进入实际测试环境的成本明显下降。
微软此前公布的AI智能体与领域专用语言实践同时显示了这种模式的潜力和限制。模型面对训练数据很少、缺乏领域背景的DSL时,初始准确率可能低于20%;在获得经过筛选的示例、明确规则和领域上下文后,部分任务准确率可以提高到约85%。这一结果说明,AI并不会自动掌握任何新语言,但只要语言能够提供完整、结构化的规则,模型适应陌生语言的速度可以明显提高。
这与过去推广新语言的方式存在重要差别。传统语言要进入生产环境,通常需要先形成一定规模的程序员群体,企业才能获得足够人才和技术支持。AI参与开发以后,一种面向特定业务的新语言可能不再需要首先培养大量能够熟练手写代码的人。领域专家和软件工程师可以先制定语言规范和业务规则,由AI承担大量具体程序生成,再通过编译器、测试和验证工具检查结果。
不过,新语言从“能够生成代码”到“能够支撑长期生产系统”之间仍有明显距离。编译器稳定性、调试能力、性能、安全审计、版本兼容、第三方软件库、企业人才储备以及旧系统迁移成本都不会因为AI出现而立即消失。对于银行、医疗、工业控制等高可靠性领域,语言和工具链还必须满足监管、审计和长期维护要求。AI更可能首先增加新语言试验和专业语言的数量,而不是让成熟技术生态在短期内被大规模替换。
最先增长的可能不是“下一个Python”,而是大量专业语言
从现有技术条件看,新语言增长最可能首先发生在领域专用语言,也就是DSL,而不是直接出现一种全面替代Python、Java或者C++的新通用语言。
金融、制造、物流、科研和企业管理系统拥有大量专业规则。金融机构需要表达交易限制、风险模型和合规要求,物流系统需要描述库存、路线、仓储和调度规则,制造企业需要处理设备状态、生产流程和安全条件,科研机构则需要准确描述实验步骤、数据转换和分析过程。过去,这些规则通常先由领域专家解释给程序员,再由程序员转换成通用编程语言。
AI使另一种开发结构成为可能。领域专家仍然使用自然语言描述目标和规则,AI首先将这些要求转换成结构严格、能够自动检查的专业语言,再由编译器或者另一个AI系统生成Python、Rust、C++、JavaScript或其他底层实现。这样既可以保留专业规则的明确性,也不需要重新建设完整的操作系统、数据库和运行环境。
如果这种结构扩大,未来的软件体系可能出现更加明显的三层分工。最上层是自然语言和业务需求,由人负责提出目标、限制条件和验收标准;中间层是大量面向具体行业和任务的DSL、规则语言或者结构化中间表示,用来消除自然语言的歧义并接受自动验证;底层继续由经过长期工程验证的通用语言、编译器和运行环境承担实际计算。
这种发展路径也解释了为什么新语言数量增加,并不必然意味着底层执行语言也同步增加。靠近业务的一层可能出现越来越多专业语言,甚至不同企业和不同系统拥有自己的规则表达方式;越接近操作系统、硬件和高性能计算的一层,对稳定性、兼容性和生态规模的要求越高,能够长期承担这些任务的语言数量反而可能保持相对集中。
Python不会因为AI迅速消失,但它在人与软件之间的位置可能改变
Python目前拥有庞大的机器学习、数据科学、科研计算和自动化生态,JavaScript和TypeScript深度嵌入Web开发体系,C和C++仍然承担大量操作系统、硬件和高性能软件工作,Rust则继续扩大在安全要求较高的系统开发中的应用。这些语言积累的软件库、开发工具、企业系统和专业人才构成了较高的替换成本。
AI甚至可能增加这些语言生成代码的总量。当智能体可以快速创建程序以后,过去因为开发成本过高而不会被编写的软件,也可能由机器自动生成。未来一种金融DSL可以最终生成Python,一套网页界面规则可以转换成TypeScript,需要更严格内存安全保证的系统则可以生成Rust或者WebAssembly。新语言与成熟语言因此不一定形成直接替代关系,更可能形成上下层关系。
真正可能发生变化的是人直接面对这些语言的频率。过去,业务需求需要由程序员逐步翻译成Python、Java或者JavaScript;未来,部分需求可能先被转换成结构化规则或者专业语言,再自动生成最终代码。Python仍然运行在系统内部,却可能增加另一种角色——成为AI生成软件的重要宿主语言、胶水语言和编译目标。
计算机软件过去数十年的发展本身就是不断提高抽象层级的过程。早期程序员直接处理机器指令,之后出现汇编语言,再发展出Fortran、C等高级语言,随后Java、Python等语言进一步减少开发者直接处理底层细节的需要。新的抽象层没有让原有技术立即消失,而是改变了需要直接操作它们的人数和场景。AI正在推动的变化可能延续这一方向,把自然语言、专业规则和机器生成的中间表示增加到传统高级语言之上。
编程仍然需要学习,但衡量能力的标准正在变化
在这一技术路径下,AI并没有使学习编程失去必要性,而是在重新划分不同能力的价值。能够记住大量语法、快速手工编写模板代码的重要性正在下降;能够理解数据怎样流动、程序为什么失败、系统如何拆分、权限怎样隔离、算法是否合理,以及AI生成结果能否通过测试和验证的重要性则进一步提高。
对于今天开始学习编程的人而言,Python仍然具有现实价值,但“学会Python”不再适合作为学习过程的终点。更长期的能力来自语言背后的计算原理,包括算法和数据结构、数据库、网络、操作系统、并发、安全、类型系统、软件测试和系统架构。这些知识既能够用于直接开发软件,也能够用于设计AI必须遵守的规则,并判断机器生成的程序是否真正满足业务和安全要求。
目前,新一代编程语言尚未形成能够全面替代Python、Java或C++的通用体系。Anka等实验显示,在特定任务中减少语法自由度、强化结构约束,可以提高模型生成代码的准确率;微软的实践则表明,如果缺少明确规范、示例和领域上下文,AI面对陌生语言仍然会出现大量错误。未来几年,更可能首先增长的是金融、制造、物流、科研等专业领域的DSL和结构化中间语言,并通过编译或代码生成继续运行在成熟语言和现有基础设施之上。
对学习者而言,这一变化首先影响的不是“还要不要学编程”,而是学习的重心。过去大量时间用于把已经明确的逻辑逐行翻译成代码,未来更多工作可能集中在定义数据、建立规则、设计系统、设置边界和验证结果。AI可以越来越快地完成实现,但一个系统应该怎样工作、哪些条件不能被突破、生成结果是否真正正确,仍然取决于对程序和计算机系统本身的理解。

读者评论
0 条评论