首页 › programming › 编程与编码:两个词的八十年

编程与编码:被AI逼到聚光灯下的八十年分界线

概述

"Programming"和"coding"在中文语境里常被混为一谈——反正都是“写代码”。但Aaron Jack的《Programming vs Coding - What's the difference?》用一支简洁的笔把这两个词重新撕开:编码是把已经想清楚的东西翻译成某种语言的语法;编程是想清楚本身——拆解问题、划定边界、权衡取舍、验证结果。这条视频以2,390,106次播放(据2026-09-07素材快照)长期稳居该话题的头部位置。本文的增量不止于复述这条视频:这条分界线并不是YouTuber的修辞发明,它有八十年可考的历史(第一代编程文献的报告标题里就同时写着“规划”与“编码”两个词),有软件工程理论的正面背书(Parnas、Brooks),而2026年的行业正在用“规格驱动开发”把这 条线直接写进工程流程。没看过视频,你能从这里拿到完整论证;看过视频,你会多懂一层“这两个词为什么值得计较”。

视频基本信息

项目 内容
视频标题 Programming vs Coding - What's the difference?
中文译名 编程与编码:区别到底是什么?
频道 Aaron Jack(前Uber软件工程师、开发者职业类频道主理人,据频道自述)
播放量 2,390,106次(据2026-09-07素材快照)
增长曲线 8月31日2,388,867 → 9月1日2,389,058 → 9月4日2,389,530 → 9月5日2,389,684 → 9月7日2,390,106,七日净增约1,239次,日均约+177次
发布日期 素材快照未包含,实时核验通道受限,据频道页面
链接 https://www.youtube.com/watch?v=CIRGjwYgdT4

三点透明性说明。其一,本次写作环境的实时采集通道受限,播放量与增长曲线来自系统预抓取的多日素材快照,视频页面的精确发布时间、时长与点赞数未能核验,按“宁缺毋错”原则省略。其二,逐字稿未能获取,下文对视频论点的还原以其标题定位与该话题的公共知识框架为底,属于本文自己延伸的分析与数据全部单独标注来源。其三,从增长曲线就能看出,这不是一条被算法爆推的“爆款”,而是靠搜索长尾持续进账的“常青型”内容——每天两百次左右的稳定新增说明:programming与coding的区别,是一个每个月都有新入场者撞上的常驻问题,而不是一次性的热搜。

一、2026年,咬文嚼字突然变得值钱

有人会问:两个单词的辨析,至于单开一篇文章吗?放在五年前,这确实只是入职第一天讲师的 warm-up 段子。但2026年9月第一周的生态数据(均来自素材快照)显示,这条分界线已经从修辞问题变成了饭碗问题:

这四条曲线共同指向一件事:行业正在大规模地把“编码”这个动作从人手里拿走,交给机器施工。当翻译环节被自动化,剩下的那个词——programming——就成了人的位置所在。这正是这条两年前还略显学院派的视频在2026年被反复搜索、稳定进账播放的原因。

二、视频的三层论证(按叙事顺序还原)

第一层:定义——编码是翻译,编程是设计

视频的核心动作是给两个词各划一条边界:coding是翻译——把确定下来的逻辑用特定语言的语法誊写出来,选循环还是递归、用哪个库函数,属于这一层;programming是设计——在需求模糊、资源有限、信息不全的条件下,决定系统该有哪些部件、部件之间以什么契约相连、出错时如何降级。视频用了一个朴素但精准的类比:会拼写不等于会写作。语法(拼写)可以查表、可以被工具纠正,而“写什么、为什么这样写”(写作)是查表查不出来的。

第二层:社会——混用的代价由新人支付

第二层讲的是两个词混用造成的系统性错位。招聘广告写"coder",亲戚听成“修电脑的”,入门教程把“三小时学会Python语法”当卖点——于是一代又一代初学者把“背完语法”当作终点,然后在第一次面对空白编辑器时撞墙:“语法我全会,为什么还是写不出程序?”视频在这里点破了那堵墙的本质:他们学的是coding,而卡住他们的是programming。这不是能力问题,是目标错位——你训练了翻译,却从未被训练过设计。

第三层:推论——这条线决定你被AI增强还是替换

第三层是AI语境下的自然推论(视频制作时AI辅助编程尚未像今天这样普及,此处属于把它放到2026年语境下的延伸):翻译是机器最擅长的活——无歧义、有海量范例、可即时验证语法;而设计恰恰是当前AI最不可靠的环节——它需要对一个具体系统的上下文做长期负责的判断。如果你的日常输出主要是翻译,自动化在替你;如果你的日常输出主要是设计决策,自动化在放大你。这条线为什么画在这里、有没有理论依据?视频没有展开——这正是本文第三节要补齐的增量。

三、知识与理论溯源:八十年前,答案就写在报告标题里

1947年:第一代编程文献,标题就分了工

这条分界线的最早书面证据之一,是Goldstine与冯·诺依曼1947—1948年为IAS电子计算机撰写的系列报告,标题就叫《Planning and Coding of Problems for an Electronic Computing Instrument》(电子计算机问题的规划与编码)。“规划”与“编码”在史上第一代编程文献里就是两件并列而不同的事:先在纸面上做“规划”——把数学问题拆成流程图与逻辑框;再做“编码”——把框誊成机器可执行的指令序列。今天课堂上画流程图再写代码的作业流程,直接是这份报告的直系后代。

1940年代:编码曾经真的只是一个“誊写岗”

历史的注脚更有意思。ENIAC的六位女性程序员(Kay McNulty、Frances Bilas、Jean Bartik、Ruth Lichterman、Betty Snyder、Marlyn Wescoff)最初在编制里被称为"computers"(计算员):真正的编程工作——把弹道方程拆解成机器步骤——在纸面上完成;而“编码”环节是去插线板上把这套规划物理地配置出来(据口述史资料)。换句话说,在行业起点上,“编码”是体力、“编程”是脑力的分工是字面成立的。这个分工后来被技术的发展不断重新分配,但两件事本身从未合并。

1952年:Grace Hopper把“编码”喂给了机器

1952年,Grace Hopper团队写出编译器A-0,打出“automatic programming(自动编程)”的旗号:程序员用接近数学记号的方式写下子程序调用,繁复的机器码誊写交给翻译程序完成。这是“编码”第一次被自动化——注意措辞:被吃掉的是编码,编程反而升了一级,因为“用记号描述逻辑”本身成了新的编程。此后FLOW-MATIC到COBOL,Hopper毕生推的就是同一件事:把人从翻译中解放出来,让人守在设计那一侧。2026年的AI编程助手之争,结构上是这场运动的第三幕。

1972年:Parnas给“编程”下了可操作的定义

如果说前三个证据只说明两个词有历史,David Parnas 1972年发表于《ACM通讯》的经典论文《On the Criteria To Be Used in Decomposing Systems into Modules》则说明“编程”这个活动有硬核内容:他提出信息隐藏原则——模块划分的标准,是把“可能变化的设计决定”藏进模块内部,让外部只依赖不会变的接口。照这个定义,编程的实质是一组判断:什么会变、什么不会变、边界画在哪。这些判断没有一行是语法,却是决定系统能否活过需求变更的全部。

1986年:Brooks解释了为什么AI吃不掉那一侧

Fred Brooks1986年的《No Silver Bullet》给出了最锋利的概念工具:软件的困难分两种——附属性复杂度(accidental complexity,来自工具与翻译的摩擦:语法、编译、胶水代码)与本质性复杂度(essential complexity,来自问题本身的建模:概念结构、边界、变化应对)。Brooks断言:工具的历代进步——高级语言、编译器、IDE——吃掉的全是附属性部分,而本质部分不会因工具改善而消失。把这套框架平移到2026年:AI编程助手是史上最强的“附属性复杂度消灭器”,但它的战果按定义集中在coding那一侧;本质性那一侧——决定系统该是什么样——仍然压在人头上。Dijkstra在1972年图灵讲座《谦逊的程序员》里那句名言是同义的反向表述:“称职的程序员深知自己颅骨的容量极为有限”——编程从来不是打字比赛,而是颅骨限额下的复杂度管理。

2025—2026年:实证与制度化双双到场

实证侧:据METR机构2025年7月发布的预印本对照研究(据公开报道,未经同行评审终稿),16名资深开源开发者在自己维护多年的成熟项目上完成246项真实任务,使用早期2025年版AI工具的实验组自估提速24%,实测反而减速约19%。该研究有样本小、任务类型偏维护等局限(下节详述),但它精准刺中了一个结构性事实:在代码已经成熟、上下文昂贵的真实工程里,AI加速的是打字与检索(coding侧),而判断——这段该不该改、改了会碰坏什么(programming侧)——没有被同比例加速。

制度侧:行业开始用流程把分界线固化下来。规格驱动开发(Spec-Driven Development)在2025年后迅速升温——GitHub的Spec Kit、AWS的Kiro等规格先行工具相继出现(据公开报道);素材快照里的两个仓库是缩影:hello-sdd用一门开源课程教“先写规格、再生成代码”,Anthropic的commerce-agents则直接给出“规格→Agent施工”的官方蓝图。SDD的本质,就是把“编程”(写规格、定边界)和“编码”(按规格生成实现)在工程流程里显式拆成两个工位——八十年前Goldstine与冯·诺依曼报告标题里的那份分工,正在被AI时代重新签发。

四、批判性审查:哪一侧站得住,哪一侧要打折

证据充分的部分:术语的历史分工有第一手文献支撑(1947年报告标题、ENIAC口述史、Hopper的“自动编程”运动均可查证);“设计≠翻译”有Parnas与Brooks的两座理论坐标;AI压力的方向有METR的实测与生态星标曲线双重印证。视频的核心主张——两个词背后是两种活动——站得住。

需要打折的部分,有四条:

  1. 二分是光谱,不是鸿沟。 Parnas与Clements自己在1986年的《A Rational Design Process: How and Why to Fake It》里承认:教科书式的“先设计后实现”是事后重构的理想叙事,真实开发者大量设计决策发生在敲代码的过程中。现代高级框架与AI即时反馈更让“设计”可以廉价地发生在代码里。所以正确的读法是编程与编码是同一条活动光谱的两端,视频为了教学清晰把它们切成了两块——这是教学法可以接受、工程上要警惕的简化。

  2. 警惕滑向等级叙事。 这类“programming高级、coding低级”的辨析,在求职向频道的内容语境里容易发酵成职业鄙视链。两个反驳:其一,翻译质量依然致命——一个类型错位、一处并发误用就是线上事故,誊写从来不是零技能;其二,大量真实岗位名为coding实为programming(反之亦然),词与岗位的错位是行业通病,用它给人分层在方法论上就不成立。另外应指出:该频道以软件职业规划内容为主业,“区分高低”的叙事与其受众运营存在利益相关——这是对内容语境的判断,不是对创作者动机的指控。

  3. METR研究的边界要诚实交代。 16人的样本、全部是维护多年的成熟代码库、early-2025版工具——它否证的是“AI必然让所有人全面提速”的乐观直觉,不能反推出“AI无助于编程”。对照GitHub官方早前报告的约55%提速(自报口径加受控任务),两组结果的分歧本身最有信息量:任务越接近绿色field的新建编码,AI越快;越依赖长上下文的成熟系统判断,AI优势越薄。分界线两侧,速度截然不同——这反而是对“编程vs编码”最硬的实证注脚。

  4. 视频的知识形态是“共识的清晰化”,不是新知。 从播放曲线(日均稳定而非爆发)也能看出它的价值结构:标题踩中了每个月新增的搜索需求,论证把教育界既有共识讲得干净利落。对看过的人,它值得的位置是“入门第一课的纠偏器”,而不是“认知升级的终点”。

五、认知提升与实用启示

  1. 执行“一页规格”工作法,把SDD私有化到个人。 任何超过两小时的功能,动手前先写一页五行的规格:输入是什么、输出是什么、边界条件有哪些、失败时表现是什么、明确不做什么。如果你指挥AI,就把这页规格贴给Agent,要求它先复述施工计划、你确认后再放行——这一步之差,你从“改 bug 的人”变成了“审规格的人”。这就是hello-sdd们教的东西的极简版,八十年前叫“规划”,今天叫“编程”。

  2. 每周做一次Parnas式边界练习。 挑一个自己写过的模块,回答一个问题:“哪个内部决定变了,而调用方不应该察觉?”把答案写成接口注释的第一行。这个练习把“信息隐藏”从教科书概念变成肌肉记忆——持续做三个月,你写代码时看边界的眼光会完全不同,这正是programming那一侧的核心训练。

  3. 把叙事升级成“约束—取舍—结果”。 无论简历、面试还是周报,用这三段式替换技术栈罗列:“在X约束下,在A与B之间选了A,因为……,结果Y”。这个句式迫使你积累的是设计决策的证据——AI时代的雇主与你自己,最该盘点的是这条清单,而不是你打过多少种语言的关键字。

视频论证结构图

flowchart TD
    A["词义之争<br/>programming vs coding"] --> B["第一层: 定义<br/>编码=翻译  编程=设计"]
    B --> C["第二层: 社会错位<br/>学的是翻译 卡住的是设计"]
    C --> D["第三层: AI推论<br/>翻译被自动化 设计被放大"]
    D --> E["历史溯源 1947<br/>Goldstine与冯诺依曼报告:<br/>规划与编码并列分工"]
    E --> F["1940s ENIAC<br/>纸上规划 插线板编码"]
    F --> G["1952 Hopper A-0<br/>编码第一次被自动化"]
    G --> H["1972 Parnas 信息隐藏<br/>编程=决定边界画在哪"]
    H --> I["1986 Brooks 本质与附属复杂度<br/>工具只吃附属那一半"]
    I --> J["2025-26 实证与制度化"]
    J --> J1["METR对照研究<br/>打字提速 判断未提速"]
    J --> J2["SDD规格驱动开发<br/>hello-sdd commerce-agents"]
    J1 --> K["结论: 八十年前写进报告标题的分工<br/>被AI时代重新签发"]
    J2 --> K
    K --> K1["人守住: 规格 边界 取舍 验证"]
    K --> K2["交给机器: 誊写 补全 样板代码"]

延伸阅读

  1. mouredev/hello-sdd — 规格驱动开发(SDD)从零入门的开源课程仓库,本文"个人版SDD"建议的完整展开(468星,据2026-09-07素材快照)。
  2. anthropics/commerce-agents — Anthropic官方“购物与商家Agent”参考蓝图,展示“规格→Agent施工”的工业化形态(2,202星,同一快照)。

参考来源

  1. Programming vs Coding - What's the difference? | Aaron Jack — 本文解读的核心视频;播放量2,390,106次及多日增长曲线来自素材管道2026-08-31至2026-09-07的每日快照
  2. openclaw/openclaw — Agent框架仓库,389,052星(2026-09-07快照),"编码自动化"生态情绪的证据
  3. mouredev/hello-sdd — 规格驱动开发课程仓库,468星(同一快照),SDD制度化的民间样本
  4. anthropics/commerce-agents — Anthropic官方Agent蓝图仓库,2,202星、一周涨约5.5倍(同一快照),SDD制度化的官方样本

本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入