人工智能时代的代码教学:为什么基础知识仍然重要

2025-06-08

人工智能时代的代码教学:为什么基础知识仍然重要

过去十年,我曾领导开发者关系团队、在编程训练营授课,并担任过专业的软件工程师。随着生成式人工智能工具的兴起,我见证了编程教育的巨大变革。我想分享一下我对于在这个新时代我们应该如何教授人们编程的看法。

寻找平衡:基本面与人工智能工具

编程教学正在发生翻天覆地的变化。但我认为基础知识比以往任何时候都更加重要。尽管 GitHub Copilot、Amazon Q Developer 和 Cursor 等 AI 编程助手日益兴起,但理解核心编程原理仍然至关重要。

原因很简单:你仍然不应该将自己不理解的代码提交到生产环境中。虽然生成式人工智能可以加速开发,但软件工程师必须能够解释他们的代码,识别安全问题,并对其进行长期维护。

“氛围编码”时代

“Vibe 编程”在社交媒体上非常流行,我非常喜欢。你只需要编写提示就可以构建应用程序,无需担心代码编写。

我认为这项技术最令人兴奋的一点是,它能够赋能非技术人员成为开发者,并让他们沉迷其中。他们可以快速从零开始学习。这让编程变得民主化,让新手无需掌握所有编程基础知识,就能构建像 Three.js 游戏这样的项目。

当我教别人编程时,他们学到的第一课就是用 CodePen 搭建简单的 HTML 和 CSS 网站,这让他们能够快速上手,并能获得可视化的反馈。Vibe 编程则将这一点提升到了一个全新的高度。

然而,当人工智能生成的代码投入生产时,风险也随之出现:

  • 安全漏洞
  • 可扩展性问题
  • 性能问题
  • 影响用户的错误

应届毕业生 vs. 经验丰富的开发人员

不同世代对这些工具的使用方式存在明显差异。对于这批学生和应届毕业生来说,这些新一代人工智能工具体现了他们的思维方式和构建方式。这些工具从根本上融入了他们的开发方式,这与高级开发人员截然不同。

虽然经验丰富的开发人员可能很难改变他们的 devtools 设置(就像我使用CLI一样!),但新开发人员从第一天起就将这些工具集成到他们的工作流程中,从而创造了更自然的结对编程体验。

对学生和初级开发者的益处

生成式人工智能在执行传统计算机科学程序经常忽略的任务方面表现出色:

  1. 测试生成:GenAI 非常适合为您的代码库生成测试,这在编程课程中很少教授。
  2. 代码文档和解释:成功的一半不仅仅是编写新代码,还在于理解前辈开发人员的代码。对于初级工程师来说,这确实令人望而生畏。GenAI 让这一切变得简单。

编程教育的未来

编程课程必须不断发展,让学生为应对这一新现实做好准备。我认为,它应该不断适应,继续教授基础知识,继续确保人们做好充分准备,能够运用这些基础知识取得成功……同时也要确保人们做好充分准备,能够进入这个能够使用通用人工智能工具更快地进行构建的就业市场。

这意味着既要教授传统的编码原理,也要教授新的技能,比如有效的提示工程和与人工智能配对程序员的合作。

价值百万美元的问题是,学习编码还有价值吗?

我的答案很微妙。五年后,开发会和现在一样吗?甚至今年晚些时候?绝对不会。在目前的就业市场,训练营是学习的最佳方式吗?不会。

然而,编程的本质是解决问题。即使计算器和计算机可以轻松解决人类所能解决的任何问题,我们仍然要求学生学习数学。这仍然是一项值得学习的宝贵技能,而且我们还没有发展到无需人工干预、大量代码审查,以及对安全性、可维护性和可扩展性的关注,就能将代码投入生产环境的阶段。

结论

编程教育正处于十字路口。未来的道路是将传统的基础知识与人工智能工具相结合,就像克劳德的全新教育模式一样。最有效的方法是教授核心原则,同时培养学生负责任地使用人工智能。随着这些技术的发展,我们培养下一代软件工程师的方法也将随之发展。

未来并非在人类知识和人工智能辅助之间做出选择,而是要充分利用两者,培养更优秀的开发者,从而构建更优秀的软件。通过两者兼顾,我们可以赋能更多人成为开发者,并突破代码所能实现的极限。

鏂囩珷鏉ユ簮锛�https://dev.to/aspittel/teaching-code-in-the-ai-era-why-fundamentals-still-matter-1k1g
PREV
你现在正在读什么?
NEXT
Socket.io:让 Web Sockets 变得轻而易举!