AI 时代如何学编程:一位 Udemy 顶级讲师的建议
JetBrains 官方博客发布了对一位 Udemy 顶级编程讲师的访谈,探讨在 AI 时代初学者应该如何学习编程。这是一个越来越多人关心的问题:当 AI 可以自动生成代码时,学习编程还有意义吗?应该学什么?怎么学?
AI 改变了编程学习的什么
AI 编程工具(如 GitHub Copilot、Cursor、ChatGPT 等)的普及,确实改变了编程学习的 landscape:
代码生成变得容易:初学者可以用自然语言描述需求,AI 就能生成代码。这降低了编程的入门门槛,但也可能让初学者跳过基础概念的学习。
调试和排错变得容易:遇到报错时,可以直接把错误信息贴给 AI,AI 往往能给出解决方案。这减少了初学者的挫败感,但也可能让他们失去独立排错的能力。
学习资源更加丰富:AI 可以作为个性化的编程导师,根据学习者的水平和需求提供定制化的指导和练习。
对编程能力的定义在变化:当代码生成变得容易时,"会编程"的定义从"能写出代码"转向了"能理解代码、设计系统、解决问题"。
初学者还需要学编程吗
面对 AI 的冲击,一个常见的疑问是:既然 AI 能写代码,我还需要学编程吗?
这位讲师的观点是:不仅需要学,而且比以往任何时候都更需要学。原因如下:
1. AI 生成的代码需要人来理解和验证
AI 可以生成代码,但它不能保证代码的正确性、安全性和效率。如果你不理解代码,就无法:
- 判断 AI 生成的代码是否正确
- 发现代码中的安全漏洞
- 优化代码的性能
- 维护和修改代码
- 排查代码中的 bug
理解代码是使用 AI 编程工具的前提。如果你完全不懂编程,AI 生成的代码对你来说就是一个黑盒,你无法判断它是否正确,也无法在它出错时修复。
2. 编程思维是解决问题的通用能力
编程不仅仅是写代码,更是一种思维方式:
- 分解问题:把复杂问题分解为可处理的小问题
- 抽象思维:从具体实例中提取通用模式
- 逻辑推理:按照逻辑规则推导出结论
- 系统思维:理解系统各部分之间的关系和交互
- 调试思维:系统性地定位和解决问题
这些思维方式不仅适用于编程,也适用于生活和工作中的各种问题。即使你将来不做程序员,编程思维也会让你受益。
3. AI 时代需要更多的技术人才,而不是更少
AI 可以自动化一些编程工作,但它也创造了更多的技术需求:
- 需要有人设计和构建 AI 系统
- 需要有人维护和优化 AI 生成的代码
- 需要有人将 AI 集成到各种业务系统中
- 需要有人解决 AI 无法处理的复杂问题
- 需要有人制定 AI 使用的规范和标准
AI 不会取代程序员,但会用 AI 的程序员会取代不用 AI 的程序员。
AI 时代应该学什么
在 AI 时代,编程学习的重点应该有所调整。这位讲师建议初学者重点关注以下几个方面:
1. 基础概念仍然是核心
虽然 AI 可以生成代码,但基础概念仍然是理解代码的关键:
- 变量和数据类型:理解数据是如何存储和表示的
- 控制流:理解条件语句、循环、函数等基本控制结构
- 数据结构:理解数组、链表、栈、队列、哈希表、树等基本数据结构
- 算法:理解排序、搜索、递归等基本算法
- 面向对象编程:理解类、对象、继承、多态等概念
- 函数式编程:理解纯函数、不可变性、高阶函数等概念
这些基础概念是理解任何代码的前提,无论代码是人写的还是 AI 写的。
2. 重点学习"为什么"而不是"怎么写"
在 AI 时代,"怎么写"已经可以交给 AI,但"为什么这么写"仍然需要人来理解:
- 为什么选择这个数据结构而不是那个?
- 为什么这个算法的时间复杂度是 O(n log n)?
- 为什么这里需要用异步而不是同步?
- 为什么这个设计模式适合这个场景?
- 为什么这段代码有安全漏洞?
理解"为什么"才能让你在 AI 给出的多个方案中做出正确的选择,才能在 AI 出错时发现并纠正。
3. 学习系统设计和架构
当代码生成变得容易时,系统设计能力变得更加重要:
- 如何将大系统分解为小模块?
- 如何设计模块之间的接口?
- 如何选择合适的技术栈?
- 如何保证系统的可扩展性、可靠性和安全性?
- 如何进行性能优化和容量规划?
AI 可以帮你写函数,但很难帮你设计整个系统的架构。系统设计能力是高级程序员的核心竞争力。
4. 学习调试和排错能力
AI 可以帮你解决常见的报错,但复杂的 bug 仍然需要人来调试:
- 如何系统性地定位问题?
- 如何使用调试工具?
- 如何阅读和理解错误信息和堆栈跟踪?
- 如何复现间歇性出现的 bug?
- 如何进行性能分析和优化?
调试能力是区分初级和高级程序员的重要标志。AI 可以解决简单的问题,但复杂的、跨系统的、间歇性的 bug 仍然需要经验丰富的程序员来解决。
5. 学习如何与 AI 协作
在 AI 时代,与 AI 协作的能力本身就是一项重要技能:
- 如何写出清晰、精确的提示词?
- 如何将大任务分解为 AI 可以处理的小任务?
- 如何审查和验证 AI 生成的代码?
- 如何在 AI 的帮助下进行代码重构?
- 如何利用 AI 进行学习和提升?
学会与 AI 协作,可以让你的编程效率大幅提升。
怎么学:实用建议
这位讲师还给出了一些具体的学习建议:
1. 打牢基础,不要急于求成
虽然 AI 可以让你快速做出东西,但不要跳过基础的学习。花时间理解基本概念,后面的学习会事半功倍。
2. 多写代码,多动手实践
编程是一门实践学科,光看不练是学不会的。即使 AI 可以帮你写代码,你也需要自己动手写,才能真正理解。
建议:
- 每天写一点代码,保持手感
- 从小项目开始,逐步增加复杂度
- 不要害怕犯错,错误是最好的老师
- 写完代码后尝试重构,思考如何改进
3. 用 AI 作为学习工具,而不是替代品
AI 可以是一个很好的学习伙伴:
- 遇到不懂的概念,让 AI 用更简单的语言解释
- 写完代码后,让 AI review 并给出改进建议
- 让 AI 出练习题,检验自己的理解
- 让 AI 解释你不理解的代码
但不要让 AI 替你写作业。自己先尝试,遇到困难再求助 AI,这样才能真正学到东西。
4. 阅读优秀的代码
阅读优秀的开源项目代码是提升编程能力的有效方法:
- 学习别人是如何组织代码的
- 理解常见的设计模式和最佳实践
- 了解大型项目的架构设计
- 学习如何编写可维护、可扩展的代码
5. 参与开源项目
参与开源项目是提升编程能力和建立职业网络的好方法:
- 从修复小 bug 开始
- 学习代码审查的流程
- 与其他开发者协作
- 建立自己的作品集
总结
AI 时代的编程学习,核心不是"要不要学",而是"学什么"和"怎么学"。
- 要学:AI 生成的代码需要人来理解和验证,编程思维是通用能力,AI 时代需要更多技术人才
- 学什么:基础概念仍然是核心,重点学习"为什么"而不是"怎么写",学习系统设计、调试能力和与 AI 协作的能力
- 怎么学:打牢基础、多动手实践、用 AI 作为学习工具、阅读优秀代码、参与开源项目
AI 不会取代程序员,但会用 AI 的程序员会取代不用 AI 的程序员。在 AI 时代,学会编程、学会与 AI 协作,比以往任何时候都更加重要。
原文链接:https://blog.jetbrains.com/education/2026/09/03/learning-to-code-in-the-age-of-ai-advice-from-a-top-udemy-instructor/