手写代码:慢工出“神器”
慢代码的悖论
现在这时代真有点魔幻。AI 能几分钟就把你的功能框架搭好。你把需求扔给 ChatGPT,回来就能拿到能跑的代码。对做了二十年开发的程序员来说,这感觉既兴奋又有点不安。
兴奋很好理解,速度确实上来了。但不安的地方说不清,却真实存在。代码来得太容易,总觉得少了点什么。那些反复调试、一点点优化的过程,其实不是浪费时间,而是真正学东西的环节。
摩擦才有意思
设计圈有个说法叫「摩擦有价值」。不是所有顺滑的体验都更好,有时候阻力本身就是体验。
拿一个老式打孔卡可视化项目来说,AI 五到十分钟就能写完。但你要是完全手写呢?没有自动补全,没有 AI 乱编的代码要修,就你和编辑器,还有一个要解决的问题。
有趣的是,这个项目反而变得好玩了。
当你自己实现 Hollerith 编码的解析逻辑时,你不是在敲模板,而是在真正理解这个历史格式。当你计算 SVG 坐标,让它对应真实打孔卡的行位置时(注意,不是简单的 y 轴倍数),你学到的东西会留下来。当你还没写代码就先思考用什么数据结构时,你其实已经在用代码做草图了。
这些不是简单的重复劳动,而是编程知识的底层。
笔记本从来没消失
AI 出现之前,很多开发者有个习惯:先在纸上画草图,在餐巾纸上写伪代码,在白板上画架构。有个思考阶段在敲代码之前。
后来工具越来越聪明,自动补全越来越好用,这个思考阶段被压缩了。现在生成式 AI 一来,它几乎消失了,取而代之的是不断修改 AI 生成的草稿。
但那个草图阶段不是多余的。正是它让理解变得深入。你会问自己:我到底想做什么?先思考再动手这种肌肉记忆正在退化,而且不像肌肉,你不能靠被动等待它恢复。
不只看生产力数字
生成式 AI 带来一个尴尬的现实:我们能把代码行数、功能交付速度、部署频率这些指标优化到极致,但同时可能在削弱那些让系统从普通变成优雅的直觉和手感。
写得慢不是反对进步。它更像健身——明明有车可坐,你还是选择走路。承认有些能力必须通过反复使用才能保持,创造这个行为本身,而不只是它的结果,有它自己的价值。
这也是一种保险。如果你把问题解决能力外包给 AI 十八个月,会发生什么?当 AI 生成的东西明显有问题(这种事在复杂业务逻辑里比你想的更常见),你发现和修复它的能力已经退化了。你成了机器工作的审核者,而不是创造者。
慢代码运动
解法是什么?有意识地去做。每个月抽一个小时,不用 AI。手写点东西,随便什么都行。不用太复杂,一个打孔卡可视化项目就挺好,或者小游戏、工具脚本、从零实现的数据结构。
目的不是证明你能比 AI 做得慢,而是记住你自己能带来什么:好奇心、品味、提出好问题的能力、超出训练数据的模式识别,还有发现的乐趣。
每个开发者都该花点时间在这种状态里。不是惩罚自己,而是提醒自己。
想参与的开发者
如果你觉得有共鸣,可以试试建立自己的「慢代码」习惯。一个人也行。定个时钟,选一个没有截止日期、没人催的项目,完全手写,不用 AI。记下你学到的东西。感受那个摩擦,它会改变你的思考方式。
如果你想和别人一起做这件事,欢迎联系。知道还有人在做同样的事,这种感觉很特别——在世界走向全面自动化的同时,重新找回手艺。这不是拒绝进步,而是给进步一个补充。记住工具是用来服务我们的工作,而不是取代我们的思考。
最好的代码不是写得最快的,而是带着意图写出来的。