程序员正在失去对自己代码的控制权。
我今天刷到一篇文章,工程师Ryan Prior他借用了信号处理里的“奈奎斯特极限”来解释现在的软件危机。这个定理的原本意思是,当信号变化的频率超过你采样频率的一半时,你就无法准确还原信号,只能得到一堆失真的噪点。
以前Python之父Guido van Rossum有句名言,叫“代码被阅读的次数远多于被编写的次数”。在过去几十年里,人类程序员通过频繁阅读、测试和Code Review来理解系统,我们的“采样率”远高于代码的更新频率。但过去一年,大模型彻底打破了这个平衡。
有个大厂程序员说:从2023年到现在,他们生产环境的Bug率每年暴增40%,但公司的用户量和广告收入却在创纪录增长。
在商业回报面前,科技巨头已经默认放弃了对底层代码的完全理解。代码正在从“少写多读”变成“狂写不读”,许多团队每天都在生产环境里直接用AI生成的补丁去修AI写出的Bug。
但我并不认为这意味着软件工程的末日。也有开发者把维护多年的代码库彻底交给了AI接管,结果虽然他自己已经完全看不懂里面的源码了,但系统的崩溃率和未处理异常反而降到了历史最低。
软件工程正在经历一次不可逆的“编译化”。就像今天绝大部分程序员不需要读懂机器码和汇编语言一样,未来的高级语言源码本身也会变成一种过程产物,不再面向人类的阅读体验去优化。我们没必要去和AI比拼阅读代码的速度,那是必输的战争。
未来的核心竞争力,不再是你能不能逐行看懂代码,而是你能不能设计出严密的自动化测试、形式化验证和架构约束。当人类退居幕后成为“规则制定者”,放弃对每一行代码的控制欲,才能真正接住AI带来的生产力暴增。
在AI时代,试图看懂每一行代码的人正在被淘汰,而学会用工具验明结果的人才会留下。
