编程的演进:从指令到意图

编程的演进:从指令到意图

我使用 AI 编程工具(比如 Cursor、 Claude Code)已经半年了。它能根据注释,自动生成完整的函数。

这让我产生了一个想法:我们今天所熟知的"编程"------即一行行地编写代码,未来可能将不复存在。

回顾历史可以发现,编程的发展方向,就是不断提升抽象层次,让计算机能直接理解人的意图。

机器指令的时代

雷军在大学期间写的汇编程序

计算机的 CPU 只懂机器码,也就是 0 和 1 组成的指令。这是计算机世界最底层的语言。

最早的程序员,必须用二进制 10110000 01100001 这样的形式,直接与机器对话。这无疑是极其痛苦和低效的。

不久,汇编语言诞生了。程序员可以用 MOV AL, 61h 这样的助记符来代替二进制码。这前进了一小步,但没有产生质变。因为程序员依然需要用机器的思维方式思考,关心寄存器、内存地址这些底层细节。

在这个阶段,是**"人去适应机器"**。

翻译官的诞生

Hello World

真正的飞跃,始于高级语言的出现。

从 Fortran、C,到后来的 Java、Python,程序员终于可以用 let a = 97; 这样接近人类自然语言的语法来写作。

从此,程序员的角色变成了"翻译官"。我们的工作,就是把人类的商业逻辑和算法思想,"翻译"成计算机能够理解的编程语言。然后,由"编译器"这个自动化工具,再把编程语言翻译成机器指令。

此后的几十年,我们所有的努力,都是为了让"翻译"工作更轻松、更高效。

  • IDE(集成开发环境):提供了一个集成的"翻译工作室"。
  • LSP(语言服务器协议):提供了语法高亮、自动补全等功能,像一个"语法助理",随时纠正翻译错误。

但是,无论工具如何进化,"翻译"这个行为本身,依然由程序员作为主体来完成。

AI 介入翻译

最近一两年,AI 的出现,正在彻底改变"翻译"这件事。

第一阶段,AI 是"副驾驶"(Copilot)。 它能理解你的上下文,帮你补全代码。你写一个函数名,它写函数体。此时,它像一个初级的翻译,与你合作完成工作。

第二阶段,AI 是"主导者"(AI-Native IDE)。 在 Cursor 这样的环境中,你提出需求,AI 生成代码,你负责审查和修改。此时,程序员从"翻译官"变成了"主编",主要职责是向下达指令和审核翻译稿。

市面上一些较火的 AI 插件或者 AI IDE

在这个阶段,我们写的代码越来越少,写的"提示"(Prompt)越来越多。如何清晰地描述需求,成了新的核心技能。

编程的终点:意图驱动

沿着这条路走下去,终点是什么?

我认为,"翻译"这个中间环节将被彻底消除。编程将进入**"意图驱动"**的时代。人类只负责提出"做什么"(What),AI 负责完成"怎么做"(How)。

未来的编程,可能是这样一种场景。你的输入不再是代码,而是一系列清晰定义的需求和约束。

人类的输入:

  • 目标: 开发一个在线协作文档工具,类似 Google Docs。
  • 功能: 支持多人实时编辑、评论、版本追溯。
  • 约束: 支撑 10 万人并发,延迟低于 100ms,部署在欧洲。

AI 的输出:

  • 一份完整的技术方案。
  • 全部的源代码和测试用例。
  • 一套基础设施配置文件(IaC)。
  • 一个可以访问的线上原型。

到了那时,程序员的角色,将与产品经理和架构师高度融合,成为"系统需求工程师"或"AI 架构师"。我们的工作,是精确地定义问题,并评估系统的最终产出。

更远的未来,脑机接口技术甚至可能让"意图"的表达也消失了。构建软件,会像我们此刻的思考一样,自然发生。

马斯克的 Neuralink 项目,将 AI 与脑进行连接,实现"意念"的表达。

结论

编程的历史,就是一部抽象化的历史,目标是让机器越来越接近人的思想。

这个过程,解放了生产力。我们不再需要关心二进制、寄存器、内存管理,可以专注于业务逻辑。未来,我们甚至可能不再需要关心具体的编程语言、框架和架构,从而专注于产品价值本身。

对于今天的开发者,这意味着两点:

  1. 重复性的、模式化的编码工作,必然会被 AI 取代。
  2. 定义问题、拆解需求、设计系统的能力,将变得空前重要。

编程不会消失,它只是在进化。我们的角色,正在从"代码的编写者"(Coder),进化为"意图的定义者"(Creator)。

相关推荐
YoungHong19928 小时前
MiniMax-M2 全方位配置手册:覆盖 Claude Code, Cursor, Cline 等工具
ai编程
人工智能训练8 小时前
如何在 Ubuntu 22.04 中安装 Docker 引擎和 Linux 版 Docker Desktop 桌面软件
linux·运维·服务器·数据库·ubuntu·docker·ai编程
数据智能老司机12 小时前
Spring AI 实战——提交用于生成的提示词
spring·llm·ai编程
数据智能老司机13 小时前
Spring AI 实战——评估生成结果
spring·llm·ai编程
该用户已不存在14 小时前
免费的 Vibe Coding 助手?你想要的Gemini CLI 都有
人工智能·后端·ai编程
一只柠檬新16 小时前
当AI开始读源码,调Bug这件事彻底变了
android·人工智能·ai编程
用户40993225021217 小时前
Vue 3中watch侦听器的正确使用姿势你掌握了吗?深度监听、与watchEffect的差异及常见报错解析
前端·ai编程·trae
yaocheng的ai分身19 小时前
【转载】我如何用Superpowers MCP强制Claude Code在编码前进行规划
ai编程·claude
重铸码农荣光19 小时前
从逐行编码到「氛围编程」:Trae 带你进入 AI 编程新纪元
ai编程·trae·vibecoding
Juchecar20 小时前
利用AI辅助"代码考古“操作指引
人工智能·ai编程