学习编程仍然值得

LLM 与编程的未来

  • 许多人认为,当前以及即将到来的 LLM 会大大减少手写例行代码的需要,尤其是在 CRUD 应用和“外层”业务软件方面。
  • 另一些人则反驳说,LLM 是非确定性的、脆弱的,并且不擅长高层抽象,因此熟练程序员仍然至关重要,尤其是在核心基础设施、编译器、框架和安全关键系统中。
  • 有人预见,少数深度专家将监督强大的 AI 工具,传统编程岗位会少得多;也有人预计会出现杰文斯式效应,即更便宜的软件创造会增加总需求。

为什么学习编程仍然重要(支持者观点)

  • 它教会问题分解、调试和系统性思维;常被比作学习数学或哲学,以培养推理能力。
  • 对于判断、引导和约束 LLM 的输出至关重要;“只会提示词”的用户无法可靠地区分好方案和坏方案。
  • 从逻辑门到高级语言的基础理解,在抽象层“漏水”而 AI 无法修复边缘案例故障时尤其有帮助。
  • 它被视为一种与 AI 系统充分互动并塑造其方向的方式,而不是被动地把一切都交出去。

怀疑:这仍然是一个好的职业选择吗?

  • 有人把未来的编程工作比作诗歌、早期音乐或小众手工艺:有回报,但经济上不稳定。
  • 担心 LLM 驱动的生产力提升会降低对普通程序员的需求,只会放大顶尖人才的作用。
  • 担忧建议新学生为一个可能在 5 到 20 年内被高度商品化的领域背负债务;类比于铁匠、工具与模具工以及外包 IT。

抽象、基础与理解

  • 普遍认同“学习编程”实际上是理解系统,而不是死记语法。
  • 关于一个人到底需要深入到什么程度(汇编、CPU 设计等)存在争论,但许多人担心 AI 会助长浅层、照猫画虎式的知识。

编程作为手艺、艺术或管道工程

  • 有些人把代码看作与音乐、文学或绘画同等的创造性媒介;另一些人则认为,大多数行业工作更像管道工或木工——是一种必要的、受约束的手艺。
  • 还有几个人指出,LLM 有可能剥夺手工构建抽象时的“心流”和乐趣,把资深工作变成审查和“看管”机器生成的代码。

质量、“垃圾代码”与长期风险

  • 有报告称,能力较弱的开发者使用 LLM 仍然会产出糟糕代码,只是速度更快;优秀开发者则能更快学习,并探索更多设计方案。
  • 人们担心生态系统会充斥着不透明、臃肿、由 AI 生成的代码,导致人类(以及之后的模型)都难以维护。
  • 少数观点认为,AI 生成的代码目前往往已经比典型的人类代码更整洁,这对质量下降的假设提出了挑战。