计算机编程时代即将终结,但我能接受

  翻译/万志文

  第一次感受到计算机编程的乐趣时,我才五六岁。那是在1980年代初,当时没多少人拥有电脑。一天,我父亲把一台Sinclair ZX Spectrum带回了家,它是世界上最早期的平价大众电脑之一。那款设备看起来像一个笨重的键盘,用电视机作为显示器。软件(主要是游戏)装在盒式磁带上,但游戏加载时间很长,在等待的过程中,我通常会翻阅Spectrum附带的令人难以置信的编程手册。

  手册充斥着用BASIC编程语言编写的简单程序。它的大部分内容我都看不懂,但当我用那些例子试验时,我开始感受到迷恋计算机编程的人经常谈论的那种兴奋感—只要有一套正确的指令,你就可以召唤这些原本毫无生气的机器为你做事。

  我确实觉得学习用计算机的方式思考很有趣,但给计算机编程这件事也有令我费解的落后之处:机器需要我们人类去学习它们令人抓狂的精确秘密语言,才能最大限度地发挥作用,这本身难道不奇怪吗?如果它们这么聪明,难道不应该是它们试着理解我们所说的话,而不是我们去学习如何与它们对话吗?

  现在,这一切可能终于要发生了。极具讽刺意味的是,软件工程似乎是最可能被人工智能的崛起彻底改变的领域之一。在接下来的几年里,人工智能可能会让计算机编程从一种稀缺的、高收入职业变成一项可普遍获取的技能。人们有望很容易掌握编程,并将其应用于各行各业的工作中。这对计算机程序员来说不一定是可怕的事情—世界仍然需要具有高级编程技能的人。

  基于大型语言模型的AI工具—比如OpenAI Codex或是DeepMind推出的AlphaCode—已经开始改变许多专业程序员的工作方式。目前,这些工具主要充当助手—它们能够发现漏洞,能够为不完整的代码片段编写解释,能够为执行日常任务提供代码建议。但AI工具正迅速变得十分聪明,足以与人类程序员相媲美。

  去年,DeepMind在《科学》杂志上发表报告称,将AlphaCode编写的程序与编程竞赛中人类参与者提交的程序对比评估后,他们发现AlphaCode的表现“大致相当于接受过几个月到一年培训的新手程序员的水平”。“编程将会过时。”曾在Google和苹果担任工程师的马特·威尔士(Matt Welsh)最近预测道。威尔士现在经营着一家AI初创公司。他的预测可能带有个人偏见,但听起来并非不可信。

  “我认为‘编写程序’的传统观念正在走向消亡。事实上,除了非常专业的应用程序之外,大多数软件将被AI系统取代,这些系统将是被训练出来的,而不是由人工编写程序。”

  威尔士的论点今年早些时候刊登在了美国计算机协会的内部刊物上,文章标题是《编程的终结》。从另一个角度来看,人工智能也标志着一种新型编程的开始—一种不需要我们学习代码,而是将人类语言指令转换为软件的编程。

  芯片制造公司英伟达(NVIDIA)首席执行官黄仁勋5月在台北国际电脑展(Computex)上发表演讲时表示,人工智能“不在乎你如何编程,它会试图理解你说的话”。他补充说,“我们弥合了数字鸿沟。现在每个人都是程序员了。你直接对电脑说点什么即可生成程序。”

  不过,等一下,编程不应该是数字时代不容错过的职业之一吗?自我第一次接触Spectrum电脑后的几十年里,计算机编程从一个书呆子的爱好,发展成了一种十分重要的职业。作为一种智力锻炼,编程可能仍是一种值得学习的技能。但如果你认为编程促成了自动化浪潮,因此它自身并不会受到这种新技术浪潮的冲击,那就太愚蠢了。

  在计算的发展历史中,编程很多时候都在朝着越来越简单的方向发展。曾经,只有一小部分懂二进制的科学家才懂得如何操纵计算机。随着时间的推移,从汇编语言的发展到C、Python、Java等可读性更高的语言,编程已经上升到计算机科学家所说的不断提高的抽象层次—每一步都越来越远离计算的电子部件,对使用它们的人来说也越来越容易。人工智能可能正在实现最后一层的抽象化:在这个层次上,你可以告诉计算机去做一些事,就像你让另一个人做事一样。

  到目前为止,程序员似乎已经对AI对其工作的改变持认同态度。微软旗下的编码库平台GitHub去年对2000名程序员做了调查,了解他们如何使用AI编程助手Copilot。大多数人表示,Copilot让他们在工作中感觉不那么沮丧,更有成就感;88%的人说它提高了他们的工作效率。Google的研究人员发现,得益于人工智能,公司程序员的“编码更新时间”减少了 6%。

  我曾试图像我父亲对我那样,让我的两个孩子学习编程,但他们都觉得编程很无聊。这曾让我这个做父亲的感到失望,也让我十分担忧他们可能会与未来脱节(我住在硅谷,那里的孩子们似乎在学会阅读之前就学会了编程)。但现在我不那么担心了。等到他们找工作的时候,编程可能已经和我的第一台电脑一样过时了。

……
关注读览天下微信, 100万篇深度好文, 等你来看……
阅读完整内容请先登录:
帐户:
密码: