蒙大拿州立大学的计算机科学教授Carson Gross经常被问到,既然AI可以生成代码,学生是否还应该学习编程。他的回答是"是的,而且……"编程从根本上讲是用计算机解决问题,并控制这些解决方案的复杂性。他认为,即使AI工具日益普及,这些技能仍将保持价值。
Gross警告说,对初级程序员而言,AI尤其危险。如果学生只是生成代码而不亲自编写,就会失去只有亲身投入实战才能获得的动手理解。他告诉学生:"是的,AI可以为这项作业生成代码。不要让它这么做。你必须自己写代码。"没有这种经验,他们就无法可靠地阅读代码,而在AI主导的未来,阅读代码的能力可能变得更加宝贵。否则,他们就有可能陷入"魔法师学徒陷阱",构建出自己既不理解也无法掌控的系统。
Gross还不同意将向AI生成代码的转变类比为从汇编语言到高级语言的转变。编译器大体上是确定性的,而大语言模型的输出则不然。高级语言消除了大量偶然复杂性,而大语言模型生成的代码则常常因方法欠佳和走捷径而增加偶然复杂性。要批判性地阅读代码,就必须先亲自写过代码。
Gross鼓励学生把AI当作助教而非代码生成器来使用。在不熟悉的工具链等偶然复杂性上卡住,可能会浪费时间,甚至让人离开计算机科学领域。如果使用得当,AI可以帮助学生越过这些障碍,加深理解。
来源: Hacker News · 由HeadlinesBriefing整理摘要