晶体管出现以后,电子管工程师并不是突然“不会工作”了,而是他们掌握的大量技能失去了价值。
今天的编程教育,可能正站在类似的位置。
传统编程教育有一个基本前提:
程序需要由人一行一行写出来。
所以我们教语法、循环、数据结构、算法、API,考试也强调独立完成代码。
过去这很合理,因为代码本身就是主要生产劳动。
但 AI 正在改变这个前提。
1. AI改变的不是写代码速度
如果 AI 只是让程序员写得更快,那么加一门“AI辅助编程”课程就够了。
真正的变化是,人正在从“直接写代码的人”,变成“控制软件生产过程的人”。
过去是:
需求 → 人写代码 → 程序现在越来越像:
目标 → AI生成 → 人评价 → 测试 → 修改 → 再生成2. 一个人开始能够完成过去一个团队的工作
过去软件开发需要产品、设计、开发、测试等多人分工,一个重要原因就是一个人做不过来。
AI正在改变这一点。
写代码、生成测试、修改界面、写文档、分析错误,都可以由 AI 辅助完成。
于是一个人面对的不再只是一个函数或模块,而可能是一个完整产品。
这时,编程能力就不能只剩下代码能力。
还需要:
- 产品判断
- 交互和审美
- 测试能力
- 系统设计
- 对结果的评价
AI越会生成,人的选择能力反而越重要。
3. 测试可能比写代码更重要
AI生成的程序经常“看起来没问题”。
真正困难的是判断它到底有没有问题。
未来的软件教育,除了教学生如何得到一个能运行的程序,还应该包括:
如何找错误,如何设计测试,如何检查边界条件,如何判断结果是否可信。
有价值的问题,从:
写一个程序。
变成:
AI 已经写好了,你能否检查它,并把它改成一个可靠的产品?
4. 基础仍然要学,但目的变了
这并不意味着以后不用学编程。
变量、循环、函数、数据结构、算法仍然要学。
但学习它们的目的,不一定只是为了将来手工写代码。
而是:
为了看懂 AI 在做什么,评价结果。
就像有计算器以后,人仍然学习算术,是为了理解和判断计算结果。
5. “禁止AI”的考试也需要重新考虑
如果未来真实的软件开发普遍使用 AI,那么长期用“不允许使用 AI”来衡量编程能力,会越来越脱离现实。
更合理的方向是提高难度。
过去考试可以要求:
写一个排序程序。
以后完全可以要求:
使用 AI 完成一个小型产品,并测试、评价和改进它。
结语
AI时代,我们到底要培养什么样的程序员?
值得思考。