# 什么是代码？

- 来源：ginobefun (@hongming731)
- 发布时间：2026-05-13 08:48
- AIHOT 分数：51
- AIHOT 链接：https://aihot.virxact.com/items/cmp3cdm2904uosl1qjn4dp7pu
- 原文链接：https://x.com/hongming731/status/2054363236968059299

## AI 摘要

在LLM时代，代码的本质是什么？Unmesh Joshi 将其分为两个层面：一是给机器的指令，正被LLM商品化；二是问题域的概念模型，作为推理和理解系统的概念体系，这才是代码的核心价值。设计良好的代码库是特定领域词汇表的具象化，精准命名、边界和层级需在迭代中发现。领域驱动设计的有界上下文和通用语言在此延伸，核心业务抽象需本地构建。编程语言本身是思维工具，影响开发者对结构的认知。因此，开发者应强化建模能力和精准词汇构建，而非语法生成。

## 正文

什么是代码？

Unmesh Joshi 是 Thoughtworks 的首席工程师，也是《Patterns of Distributed Systems》的作者。他在 https://martinfowler.com/articles/what-is-code.html 发表了一篇追问性质的文章，问题只有一句话：LLM 时代，代码究竟是什么？

他的回答把代码拆成两个层面。第一个层面是给机器的指令，指挥计算、移动数据、协调执行；这个层面正在被 LLM 商品化，不再是稀缺能力。第二个层面是问题域的概念模型，是人类和工具用来推理、理解系统的那套概念体系；这个层面才是代码真正难以被替代的价值。

词汇表是这篇文章的核心意象。一个设计良好的代码库，本质上是某套词汇表的具象化。做零售领域的开发，代码里会出现客户、商品、订单、发货、支付；做 Web 开发，就要把零售词汇映射到 HTTP 方法和资源语义上。概念变成类型，关系变成接口，规则变成不变量，流程变成组合。精准的变量命名、合适的方法边界、合理的类层级，都要在持续迭代中一步步发现，而不是一开始就能想清楚。

DDD 的有界上下文和通用语言，在这里得到了自然的延伸。越靠近核心业务模型，抽象越需要本地发现，无法靠通用框架解决。这不是框架设计的局限，而是领域词汇本身就缺乏跨实例的稳定性。

编程语言本身也是思维工具。Go 的 channel 和轻量级线程、Java 的面向对象模型、Rust 的所有权模型，都会推动开发者用特定的方式看待结构和边界。语言不只是表达设计的手段，更是发现设计的工具。这也是为什么 Unmesh Joshi 认为，主动写代码和被动 review 生成代码是两种本质不同的认知活动。

文章最后的结论清晰：当 LLM 把语法生成商品化，开发者应该主动变强的方向，是建模能力和精准词汇构建，而不是打字速度。这与 AI 时代对软件工程师的期待高度吻合，是近期少数能把「AI 取代开发者」这个老问题讲出新角度的文章。
