AI 时代,古法编程还有必要吗?
最近我一直觉得,AI 编程带来的最大变化,不是"代码写得更快了",而是"人和代码之间的距离变远了"。
以前写代码,虽然慢,但每一行都要从脑子里过一遍。变量为什么这样命名,函数为什么这样拆,边界条件会不会炸,性能有没有问题,异常怎么处理,都是在敲键盘的过程中一点点磨出来的。那种慢,不只是低效,也是一种训练。
现在不一样了。需求一丢,AI 哗啦啦生成一片。你按下 Enter,项目就多了几百行代码。表面上看是效率飞升,但危险也藏在这里:代码不是你写的,你只是批准它出现了。
这时候,"古法编程"反而更重要。
所谓古法编程,不是拒绝 AI,也不是非要手搓一切,假装还活在过去。它真正的价值,是让你保留一种底层能力:你知道代码为什么这样写,也知道它可能在哪里坏掉。
AI 可以生成代码,但它不一定理解你的业务;AI 可以补全逻辑,但它不一定知道这个系统过去踩过什么坑;AI 可以写出看起来很漂亮的结构,但漂亮不等于合适。很多 AI 代码的问题,不是语法错误,而是味道不对:抽象过度、边界含糊、状态混乱、异常被吞、接口看似通用其实没人敢改。
这些东西,只有真正写过代码、调过 bug、背过线上事故的人,才会敏感。
编程品味不是看教程看出来的,也不是让 AI 解释几遍就能长出来的。它更像一种肌肉记忆。你亲手写过烂代码,才知道什么叫烂;你亲手重构过失控模块,才知道什么叫清晰;你亲手被一个空值、一段并发、一个隐式状态折磨过,才会在审查代码时突然皱眉:这里不对劲。
所以,AI 时代的程序员,最怕的不是不会写代码,而是逐渐失去判断代码好坏的能力。
以前我们还能 Ctrl+C、Ctrl+V,多少还要知道复制哪段、粘到哪里、为什么能跑。现在更狠,很多时候只剩一个 Enter。需求交给 AI,方案交给 AI,代码交给 AI,测试也交给 AI。人看起来更轻松了,但也可能正在被悄悄架空。
这就是那个很荒诞又很真实的感觉:老子以前好歹还会三个键,现在只会一个键了。
但问题不在于 Enter 本身,而在于你按下 Enter 之前和之后,脑子有没有参与。
如果你只是把 AI 当成许愿机,那你很快会变成代码流水线上的审批员。AI 给什么,你收什么;AI 改什么,你合什么。久而久之,你会越来越依赖它的表达,越来越失去自己的判断。等到 AI 写错了、业务变复杂了、系统出了问题,你会发现自己站在一堆"看起来都挺对"的代码面前,完全不知道从哪里下手。
真正厉害的 AI 时代程序员,不是敲代码最多的人,也不是提示词写得最花的人,而是能驾驭 AI 的人。
他知道什么时候让 AI 写,什么时候必须自己写;知道哪些代码可以快速生成,哪些核心逻辑必须亲自过脑;知道 AI 给出的方案只是草稿,不是结论;知道审查代码时不能只看"能不能跑",还要看"以后能不能改、出了事能不能查、换个人能不能懂"。
所以我觉得,古法编程不但有必要,而且会变成一种稀缺能力。
以后程序员的分层可能会更明显。一类人只会调 AI,产出很快,但离开 AI 就寸步难行;另一类人也用 AI,但底层能力还在,能读、能改、能判断、能兜底。前者像操作员,后者才像工程师。
当然,没必要为了证明自己"有技术"就排斥 AI。手搓所有东西并不高级,能用工具提升效率当然要用。真正成熟的态度应该是:拥抱 AI 的速度,但不放弃古法编程带来的深度。
可以让 AI 帮你写样板代码,但核心设计要自己想。
可以让 AI 生成初稿,但关键路径要自己审。
可以让 AI 帮你补测试,但边界条件要自己推。
可以让 AI 解释陌生代码,但最终判断要落回你自己身上。
AI 是加速器,不是替代大脑的托管服务。
编程这件事,最有价值的部分从来不只是敲字符,而是理解复杂性、拆解问题、做权衡、控制风险。AI 能帮我们省掉很多重复劳动,但如果连思考也一起省掉,那省下来的不是时间,而是能力。
所以,AI 时代还要不要古法编程?
要。
不是为了怀旧,也不是为了和工具较劲,而是为了在一个代码越来越容易生成的时代,仍然保留判断、审美和掌控力。
毕竟,一个程序员最可怕的退化,不是写得慢,而是看不懂自己交付的东西。