点击“开发者技术前线”,选择“星标”
让一部分开发者看到未
来源| 技术领导力(ID:jishulingdaoli)
近日,前哈佛大学计算机科学教授、谷歌工程主管 Matt Welsh 在美国计算机协会(ACM)的一个虚拟会议上表示,ChatGPT和GitHub Copilot预示着编程终结的开始,Welsh 断言,生成式 AI 将在 3 年内终结编程。
Welsh 认为,由于 ChatGPT 和 Copilot 等技术的出现,编程正处于从人类工作转变为机器人工作的转折点。在他看来,程序员需要演变成 AI 程序的“老师”——或者产品经理,或者代码评审人员(其实就是白盒静态测试人员)。他认为这两个人类角色相对来说不那么受机器人的影响。“不要指望你的程序员职业生涯会一直持续下去,因为机器正在取代这个角色。”Welsh 说道。
据悉,Welsh 曾在谷歌和苹果公司担任高级工程职位,他曾在 2023 年 1 月出版的《ACM 通讯》杂志上就这一话题写过一篇文章:编程的终结:经典计算机科学的末日即将来临。此外,Welsh 还成立了一家初创公司来证明他的理论。
下面是 Matt Welsh 在ACM 上发言的文字总结(摘要)
( 完整视频见:https://www.youtube.com/watch?v=qmJ4xLC1ObU ,一个多小时)
1. 写代码是脏活,让 AI 来做吧!
随着 GitHub Copilot、ChatGPT 等 AI 产品持续火爆,AI 在编程方面展现了极强的能力。在一项新的研究课题中,ChatGPT 尝试查找示例代码中的 bug 并给出修复建议,其表现远超现有程序,成功修复了 40 个 bug 中的 31 个(来自伦敦大学学院 和德国美因茨大学的研究报告 https://cacm.acm.org/news/269311-chatgpt-finding-fixing-bugs-in-code/fulltext)。
拥有如此强大的编程能力,AI 真的会取代程序员?Welsh 断言,生成式 AI 将在 3 年内终结编程。
在 Welsh 看来,“写代码是脏活”——所以就让机器人来做吧。“用你的时间做点别的事情。对于每个人来说,写电脑程序并不是最好的利用时间的方式。”
Welsh 表示,Copilot 是一款不可思议的产品。“在我敲键盘时,Copilot 经常能够很好地帮我完成我的想法——它能读出我的想法,比我想象的要多得多。Copilot 极大地提高了工作效率,因为它让我避免了很多上下文切换。”
Welsh 称现在的 Copilot“只是一个开始”,只有两样东西会阻止 Copilot 变得更好:更多的数据和更多的计算。由于这两个东西都很充足,所以他认为“在未来的一两年或三年内,Copilot 没有理由无法会实现这样的目标:即你在源文件的顶部输入几行代码,它会把剩下的内容写出来。”
Welsh 认为“计算机科学注定要失败。”他说:“我认为这个领域将发生根本性的变化。计算机科学作为一门学科,你认为它的意义何在?它一直都是关于如何将想法转化为程序。”
他认为,在过去的 60 多年里,计算机编程在不断发展,试图让人类更容易理解代码。他将 1957 年的 Fortran 与 1964 年的 Basic 和 2010 年的 Rust 做了对比,他表示,就易用性而言,这三个编程语言之间真的没有太大区别。
Welsh 表示,“现今人们开发的程序和以前一样复杂,一样难以维护,一样难以理解,一样充满了 bug。” 但是 GitHub Copilot 让 Welsh 从根本上重新思考计算机科学的意义。“Copilot 从根本上改变了我们写代码的方式,至少从我个人的经验来看,它是一种显著而深刻的加快开发速度的方式。”
2. 未来的软件开发团队是什么样子的?
Welsh 还对未来的软件开发团队做了一些有趣的预测。基本上,当程序员开始被淘汰时,他认为只有两个角色可以保留:产品经理和代码评审人员。
在 Welsh 看来,产品经理的角色不会有太大变化。“人类产品经理仍然能够写出告诉软件应该做哪些事情的英文描述——也就是产品需求文档(PRD)。这是产品经理已经在做的事情,对吧?”
不同的是,在不久的将来,我们不再需要把 PRD 交给工程团队,然后等上六周左右,等他们把需求实现完毕,Welsh 说:“你只需要把 PRD 交给 AI,AI 在几秒钟内就可以吐出代码。”
当然,生成式 AI 在早期阶段有一个缺点,即它们的输出不一定是正确的。因此,Welsh 看到了人类代码评审人员(静态测试人员)能够在这方面起到的作用。
“我们怎么知道代码是否有效?我们怎么知道它是否足够好?我们怎么知道它是对的?当然,我们需要进行彻底的测试,测试是非常非常重要的,这是不会消失的。所有 CI/CD 相关的东西,以及我们在过去几十年里积累的一切,在这里仍然是有用的。”
他认为,具有编程能力的人类将承担“评审和阅读 AI 生成的代码,并确保它们能够正常运行以及做正确的事情”的任务。
至于程序员,以及那些即将加入这一领域的人,他们将需要成为 AI 的老师,而不是程序员本身。Welsh 说:“这是关于如何教会 AI 写代码,而不是自己写。”
— 完 —
点这里👇关注我,记得收藏订阅哦~
历史推荐
提交开源补丁代码被拒,内核维护者:我们不接受
阿里版ChatGPT突发官宣问世!紧追百度文心一言
马斯克开源Twitter 核心代码,GitHub Star数已破万!
好文点个在看吧