Please enable Javascript to view the contents

驳《人工智能正在创造一代文盲程序员》

 ·  ☕ 5 分钟

最近,人工智能正在创造一代文盲程序员 | N 的博客 这篇文章引发热议。我认真读完,发现文章将程序员技能退化的现象归因于AI,实则混淆了“工具使用方式”与“工具本身”的界限。

同时,文章的观点与我自身的经验有很大出入,所以写下这篇文章,聊聊相反的观点。

逐条反驳

科技爱好者周刊(第 336 期):面对 AI,互联网正在衰落 - 阮一峰的网络日志

以下引用部分为原文内容(由阮一峰博士翻译),我将逐一进行回应:

我长期使用 AI,靠它帮助编程,已经不能在没有 AI 帮助的情况下解决问题了。

AI 辅助编程不会消失,它会越来越普及。

我不再阅读文档。既然 AI 可以立即解释一切,为什么还要费心阅读呢?

AI 的释义也是一种文档,只是这个文档更便捷。

我的调试技能日益生疏。我甚至不再阅读报错消息,只是把它们复制并粘贴到 AI,让 AI 解读。

我已经成为了一个人肉剪贴板,仅仅是代码和 AI 之间的中介。

这其实也是一种调试,只是方式不同。我们以前也会把报错信息复制到搜索引擎中,寻找解决方案。

以前,每条报错都会让我学到一些东西。现在呢?AI 提供了解决方案,我却什么也没学到。实时答案带来的多巴胺刺激,取代了真正理解的满足感。

AI 提供的解决方案也是学习的一部分。我现在连错误都没有了,这是多么美好的事情。

另一个受到影响的地方是深度理解。以前,我花费数小时来理解某个解决方案为何有效,现在,我只是照着 AI 建议实施。如果这些建议不起作用,我会改进提示的上下文,再次询问 AI。这种循环使得我对 AI 的依赖性不断增加。

不断的提问、修改问题、尝试,跟以前花费数小时理解某个解决方案为何有效有什么区别呢?

我的情绪也受到影响。以前,解决新问题是编程乐趣的一部分。现在,如果 AI 不能在五分钟内给出解决方案,我就会感到沮丧。

这是你自己的问题,不是 AI 的问题。你可以尝试放慢节奏,不要急于求成。

我该怎么办?我不想采取任何激进的措施,比如完全放弃 AI,这是不现实的。我打算每周实行一天"无 AI 日"。

完全放弃不现实,所以我一周放弃一天?得了好处还卖乖,活脱脱绿茶程序员。搞得好像 AI 辅助编程不纯洁似的。合着手搓代码才是真正的程序员?

不带工具工作一天?那这一天会痛苦且漫长。

我的感觉是,AI 不会让我们成为10倍效率的程序员,只会让我们对它的依赖程度增加10倍。

就个人而言,AI大大提高了我的编码效率。个人觉得,如果你没有成为10倍效率的程序员,很有可能是你没有好好利用 AI。

每当我们让 AI 解决我们自己可以解决的问题时,我们就是用短期生产力换取长期理解,我们以牺牲明天的能力为代价来完成今天的效率。

会做的事情交给 AI,让我们可以专注于更重要的事情。AI 不会让我们失去能力,只会让我们更专注于更重要的事情。

我并不是建议放弃 AI,只是建议大家不要放弃尝试独立解决问题。

这个建议是对的!

我们正在创造 AI 一代程序员,他们可以向 AI 提出正确的问题,但不理解 AI 给出的答案。每次 AI 出现故障,他们就会显得无助。到目前为止,AI 还不足以完全取代程序员,但随着 AI 的进步,这种情况只会变得更糟。

提问是整理思维的有效方式,能够提出正确的问题,就意味着问题解决了一半。会提正确的问题,是一个很重要的能力。

再说一次,不理解 AI 给出的答案,这是你的问题,不是 AI 的问题。你可以通过学习,理解 AI 给出的答案。

AI 出现故障,可以修复,可以换一个AI。AI不是上帝创造的,它不会被收回。AI 是人类创造的,人类可以修复它。

个人观点

我是位编程爱好者,从2024年开始使用Github Copilot 编程。从此代码量大幅提升,效率提升巨大。

代码贡献

也通过AI顺利的构建了两个项目:

这两个项目都有10K+的月访问量。

通过AI辅助编程,我不仅提高了编码效率,还学到了很多新知识。最最重要的是,切实的做出了一些有用的东西,解决了一些实际问题。

编程的本质

编程的本质是利用计算机语言将人类的思维和逻辑转化为计算机可以执行的指令,从而解决问题、创造价值并推动技术发展。简单说就是对计算机硬件发号施令,从汇编语言到高级语言(如Python、Java),编程语言的进化体现了对硬件细节的抽象封装。程序员不再需要直接操作寄存器,而是通过更高层次的抽象(如面向对象、函数式编程)表达逻辑。

实际上 AI 辅助编程是一个中介。我们发号施令给 AI,AI 会帮我们完成抽象的逻辑。

工欲善其事,必先利其器

现代软件开发已高度依赖工具链(如IDE、版本控制、框架、类库),你用框架和用 AI 其实是一样的,都是为了提高效率。封装的框架和类库,是为了让我们专注于业务逻辑,而不是底层细节。

AI提升效率,而非剥夺能力

你以前骑自行车,现在买了陆虎。陆虎不会让你忘记骑自行车,只会让你更快到达目的地。

君子性非异也,善假于物也。AI只是工具,是否依赖取决于使用者的态度。程序员完全可以选择将AI作为学习辅助——例如,通过分析AI生成的代码理解算法原理,而非直接复制。

干中学

2025年,“干中学”这个词火了。

AI提供的代码不一定契合项目需求,往往需要程序员根据实际情况进行调整。对于新手程序员,AI可提供即时反馈与示例代码,降低学习门槛。通过AI,初学者可以快速上手,直接做项目,这是最好的学习方式。

在实际场景中,AI常被用于验证思路。例如,程序员可先自行设计算法,再与AI生成方案对比,从而发现优化空间。

什么是文盲程序员?

企业注重的是效率,只看结果,而不在乎你的代码是手搓的还是AI生成的。现在很多企业大量裁员,要求员工必须使用AI,不会用AI的就会被优化。

而作为信息行业的程序员,更不应该视“手搓”为高级,AI为低级。你连基础的工具都不会用,还谈什么高级?

所以,什么是文盲程序员?恰恰是不会用AI的程序员。

最后我想说,AI 不仅不会造就文盲程序员,反而会整体拉高程序员的水平。

分享

码中人
作者
码中人
Web Developer