4 须道菩提一剑斩天 11小时前 92次点击
我认为:编程课程当然还有存在的必要,而且短期内不会消失;但“教人死记代码、从头到尾手敲代码”的课程,确实正在变得越来越没必要。
现在这个变化其实已经非常明显了。2026 年的开发者调查显示,约 90% 的专业开发者每周至少使用一次 AI 编程代理,68% 已经是每天使用;AI 已经从“帮你补一行代码”发展到了能够读项目、修改多个文件、运行测试甚至执行完整开发流程。
所以问题已经不是:
“以后还需不需要学编程?”
而是:
“AI 都能写代码了,人为什么还要学编程?”
我的答案是:因为“会写代码”和“会做软件”已经是两回事了。
比如你对 AI 说:
“给我做一个 RPG 游戏。”
AI 可以给你生成大量代码。
但是接下来马上会出现一堆问题:
这个游戏到底应该怎么玩?
数据应该怎么保存?
登录系统怎么设计?
为什么这里会闪退?
这个函数为什么会产生空值?
这个改动为什么把另一个功能弄坏了?
玩家输入恶意数据怎么办?
这个代码到底应该放在哪个文件?
AI 给出的几十个文件之间是什么关系?
修改以后怎么测试?
AI 生成的代码究竟有没有偷偷留下严重漏洞?
这些问题,单纯会让 AI 生成代码的人不一定解决得了。
这也是为什么现在很多开发者的工作正在从“自己敲每一行代码”,逐渐转向提出需求 → 设计 → 让 AI 实现 → 检查 → 测试 → 调试 → 再修改。JetBrains 2026 年的调查也显示,AI 编程工具已经成为专业开发者工作流的重要组成部分。
但是传统的编程课确实应该改变
以前的课程可能是:
第一课:变量
第二课:if
第三课:for
第四课:函数
第五课:数组
第六课:类
第七课:做一个计算器
这种课程以后仍然有价值,但教学重点必须发生变化。
我觉得未来更合理的编程课应该变成:
第一阶段:理解程序
知道变量是什么、条件是什么、循环是什么、函数是什么。
第二阶段:理解程序为什么这么写
看到一段代码,不是只知道“这是 Lua”,而是能够判断:
这段代码什么时候执行?
数据从哪里来?
数据到哪里去?
哪个地方可能出错?
第三阶段:开始使用 AI
让 AI 帮你写代码,但要求你能够读懂 AI 写出来的东西。
例如 AI 给你:
if 玩家生命值 <= 0 then 游戏结束() end
你至少应该知道:
“这是在判断玩家生命值是否小于等于 0,如果成立就调用游戏结束函数。”
而不是:
“AI 说可以用,我复制粘贴就完事。”
第四阶段:真正做项目
这时候 AI 就非常有用了。
你可以告诉 AI:
“我要做一个 Android RPG,玩家移动的时候改变横坐标和纵坐标,双指上下改变高度,地图下半部分单击朗读当前坐标。”
AI 可以帮你大量写代码。
你负责的是:
设计规则 → 描述需求 → 测试结果 → 找问题 → 判断 AI 哪里错了。
这其实比过去单纯“背 API”更接近未来的软件开发。
所以我甚至觉得,未来最重要的不是“会不会写代码”
而是:
你能不能看懂代码。
这是一个非常大的区别。
假设两个人都有 AI。
第一个人:
“AI,帮我做一个游戏。”
AI:
“好的。”
生成一堆代码。
这个人:
“能跑就行。”
然后出 bug。
他就不知道怎么办了。
第二个人:
“玩家移动以后这里的数据没有更新,我怀疑是移动函数没有修改全局坐标。你先检查移动事件,然后告诉我是哪一个变量没有正确传递。”
AI 一检查:
“确实,横 和 竖 在这个作用域里没有正确更新。”
第二个人马上就能继续工作。
两个人都有 AI,但第二个人明显更强。
而且有一个非常有意思的变化:
以前程序员最宝贵的能力之一是:
把代码写出来。
现在越来越变成:
知道应该让计算机做什么,并且知道它做得对不对。
这其实和计算器普及之后数学教育发生的变化有一点类似。
有了计算器以后,学校没有说:
“既然计算器能算 73829 × 483,那么数学课取消吧。”
因为数学课真正重要的东西并不是让人一辈子手算乘法。
同样,AI 出现以后,编程教育也不应该变成:
“既然 AI 会写 Python,所以 Python 不用学了。”
而应该变成:
“既然 AI 可以替我们写大量代码,那么我们更应该学习程序是怎么工作的,以及如何正确指挥和检查 AI。”
甚至未来的编程课可能会出现一种非常有意思的考试:
老师不给你要求“手写 200 行代码”。
而是给你一个坏项目:
登录功能不能用。
玩家移动偶尔会跑两格。
存档有时候消失。
点击菜单会闪退。
然后让学生使用 AI。
学生的任务不是自己把 500 行代码重新敲一遍,而是:
找到问题 → 判断原因 → 指挥 AI 修改 → 测试 → 验证修复结果。
我认为这反而更接近真正的软件工程。
所以,如果你问我一句最简单的结论:
编程课不会消失,但“教人单纯敲代码”的编程课会越来越没有竞争力。
以后真正值得学的东西,我会把它排成:
编程基础 > 软件设计 > 调试能力 > AI 协作 > 项目实践 > 死记代码。
AI 越强,越应该学编程的“原理”和“思维”,反而越没必要把大量时间花在机械敲代码上。
这其实也是为什么现在已经出现专门研究“AI 辅助编程教育”的课程设计:教育者开始考虑的不是“禁止 AI”,而是怎样让 AI 帮助学习,同时又不把学生自己的推理能力替代掉。
积分:1747
课程确实可以微调一下,不过,人工学还是要学一些的。毕竟,AI怎么发展,想要达到自己预期的效果,嗯,还是得自己亲手上手,要踏实一些。