一间书店,两位程序员,一卷 1986 年的纸带。
从机器码到 AI 大模型,把编程语言的概念家族树,装进一段真实的软件开发历程。
编程语言的所有概念,都是“人类偷懒 + 防错”的产物。
越往上,抽象越高,离硬件越远,但离“人的思维”越近。
| 你遇到的麻烦 | 对应的概念 | 云间书店的故事 |
|---|---|---|
| 记不住内存地址 | 变量 | 给书价起名 price |
| 代码复制粘贴 | 函数 | 三处折扣逻辑抽成一个 apply_discount |
| 全局变量被乱改 | 类 / 模块 | Product.stock 被外部直接改成 -1 |
| 对象没初始化就用了 | 构造方法 | 负价格商品根本造不出来 |
| 假设错了但没发现 | 断言 | 发货前 assert order.status == "paid" |
| 内存泄漏 / 悬空指针 | 垃圾回收 / 所有权 | 2005 年双十一凌晨三点的宕机 |
| 错误处理代码太乱 | 异常 / Result | 秒杀时库存不足抛 OutOfStockError |
| 等待 IO 时卡住 | 异步 / await | 支付接口 500ms 不阻塞收银线程 |
| 写多遍类似代码 | 泛型 | 一套 top_n 通吃书/杂志/文创 |
| 并发数据竞争 | 锁 / 通道 / Actor | 秒杀卖出 -3 本 |
| 配置太复杂 | DSL / 注解 | 王姐用“一句话”自己生成报表 |
| 想让机器听懂人话 | Prompt / RAG / Agent / MCP | 云间书店的 AI 荐书助手 |