大模型基本实现了自然语言编程,那么因此可以讲,编程的难度就降低了吗?我觉得没那么简单。确实,就实现一个hello world的demo而言,自然语言会非常简单,因为它不需要你遵循严格的语法,只需要一句日常用语既可以。但是,对于复杂的应用,实现逻辑不是一句话讲明白,那么用自然语言编程,难度并没有降低。
自然语言和计算机语言(高级)相比,除了语法上灵活性不同外,最大的区别是自然语言高度抽象,它的信息密度要比编程语言多得多。比如计算器这个概念,如果要实现一个计算器,对于自然语言编程,只需要一句话大概就能实现,因为在自然语言概念中,计算器本身就是若干概念的合计,比如能够实现数字的加减乘除,或许还可以计算三角函数等。
而对于计算机语言(高级),它没有计算器这个概念,但已经非常接近,它可以实现十进制数字的加减乘除,也就是说,距离计算器这个概念,只是一步之遥。它缺少更高级的抽象,比如计算器这个概念,再在计算机这个概念之下,把加减乘除整合进来。同样,在计算机高级语言之下,是更基础的机器码(低级语言),在这个维度下,加减乘除的概念是不存在的,它的世界里,只有布尔逻辑运算。
自然语言编程是对计算机语言编程的更高一级抽象,“计算器”是其中的一个高度抽象的概念,登录窗口、洗牌算法这些名词对于高级语言编程来说,也变成了最基层的抽象概念,这也是为什么用自然语言编写“hello world”简单的原因,因为在过去,由于计算机编程语言抽象层级的限制,即便是这么一个入门学习程序,也需要掌握一些语法细节,但如今在更高一级的自然语言编程环境下,这些细节不用再关注了,只需要把它的名字说出来就行了。
世界上识字并且会书写的人很多,但并不是人人都能写有价值的文章,同样,当计算机编程从计算机语言进步到自然语言编程时,它确实会提高效率,但要说人人都是编程高手的话,无异于说掌握文字书写的人都会写小说,肯定是不对的。