有 AI 能够编写代码,学编程还有用吗?

我们编程是为了解决问题,编程只是手段,ai编程是手段的一部分,我们永远要去学习如何使用合适的手段解决问题。
目前能够用好 AI 编码工具的人,一定是已经有很强的编程基础的人。他们能在看到问题的时候,脑子就有大致的解决方案的轮廓,只是现在不需要他自己去往轮廓里面填充细节,AI 编程就能够替他去做这些事儿,做完之后,他们也能知道 AI 给的结果好不好。
虽然vibe coding看起来诱人,但现实问题往往更复杂,AI 一次性给出完美答案的可能性很低。随着问题的迭代和AI代码规模的膨胀,一点微小的设计偏差都会导致后期大量的反复排查和返工,导致难以寸进。
所以,作为从业者,保守一点的结论是,如果要从事计算机行业、软件工程行业,在技术变得不那么重要的同时,技术理念反而变得额外重要了。知道解决方案的同时,更要知道为什么这么解,如果问题发生了细微的变化,解决方案需要跟着怎么变。这样你才是那个能解决问题,能在最合适的时候用AI的人。
当然,有保守的结论,也可以畅想更激进的结论。完全不会ai,那是不是就不能编程呢?我觉得,编程可以近似等价于对一个问题的完备的数学证明,如果你可以不用真正接触代码,而是用一系列观测工具(包括但不限于单元测试、日志上报这些编译期、运行时观测手段)去对要解决的问题进行证明。在解决方案的熵随着时间和问题变化而增加时,能通过观测工具去改进解决方案(熵减),那么从理论上,我们就不需要再面对实际的代码,可以面对更高一层抽象进行编程了。即:不会代码,也能编程(笑)。
题外话,AI带给我最大的感受,反而是让我更想写代码了。我最近复刻了一遍tsoding的coroutine库,用两百来行c语言和汇编手写了最简的有栈协程,比起此前挣扎在kotlin的协程语法中,现在我能看得清栈内存和cpu的运转,我才真正掌握了为什么要用协程。
真是幸福的时代。

浙公网安备 33010602011771号