自然语言可能是唯一通用的编程语言
小麦2023年05月04日1038 字
讨论编程语言是互联网从业者经久不衰的话题,但今天我想从另一个角度来探讨编程语言和自然语言的关系。
什么是编程语言#
不妨先问问 AI,编程语言是什么?
AI 提到形式化具体是指语法和规则,不同语言有不同的语法和规则。AI 也提到编程序语言的应用领域和分类。
传统编程语言#
传统编程语言往往诞生于特定应用场景,例如 C 语言通常用于硬件编程或者与操作系统打交道;Java 语言最早用于编写嵌入式设备应用程序,同时具备跨平台的能力;Python 语言设法成为一种广泛的编程语言,如今它在科学计算、数据分析、人工智能领域有着明显优势;JavaScript 语言为浏览器而生,如今几乎是 WEB 应用的首选语言;Solidity 语言专门用于编写区块链智能合约;最新的 Mojo 语言则专为人工智能应用程序设计。
如果查阅编程语言发展史,可以看到每一种语言都有其特长,而特长对应具体的应用场景。比较有意思的一点是,新兴编程语言的设计目标不再追求通用,而是为特定领域设计,我们称之为 Domain Specific Language (DSL) ,正如上面提到的 Solidity 和 Mojo。
这其实很好理解,随着科技的不断发展,具体到特定领域的业务也会越来越复杂,编程语言会不断更替来适应业务变化。
那是否有一种万能的语言能通吃所有场景呢,我认为答案就是自然语言。
自然语言#
自然语言就是人类日常交流和表达思想的语言,如果类比编程语言,自然语言同样具备一定的语法和规则,同时受社会、文化的发展也在不断自我迭代。专业的软件工程师用编程语言描述解决特定问题的路径和方式,普通人也可以用自然语言来描述如何完成需求,而后者大概率是未来软件开发的进化趋势。
自然语言相比编程语言最大的优势是通用性,可以说它是现实世界的原生语言,所有需求文档都用自然语言写成。哪怕是时代变了,自然语言也还在,不会说需要发明一种新的自然语言。
在普通人能够胜任软件开发任务之前,Prompt 工程师出现了,这是近段时间一个比较流行的概念。Prompt Engineering(提示工程)是一种通过优化 AI 模型输入,来获得更高质量输出的实践方法,而专门做这一行的人即为 Prompt 工程师。
从当前 AI 发展阶段看,我认为提示工程更像是一种过渡,未来程序员将从传统互联网行业毕业,转战 AI 辅助编程。当 AI 的上层应用足够丰富,通过自然语言编程的成本降得足够低时,普通人也能胜任这份工作,我想产品经理可能是最适合做这个工作的人,当产品需求文档写完时,软件也就开发完了。
结语#
编程语言不再内卷,自然语言开始崭露头角,究竟谁能笑到最后,有生之年一定能见分晓,让我们拭目以待。