声明式编程语言是最理想的编程语言

NP问题与NP完备问题

NP问题的概念太抽象,我在此只是借用下面的一句话
所有的NP问题在多项式时间内都能规约到NP完备问题,解决了此NP完备问题,所有NP问题也都能得到解决
引出我的思路
所有的业务都可以化简成某个终极业务。解决了这个终极业务,也就解决了世界上所有的业务。
所有对业务逻辑进行抽象的工作,都是向这个终极业务的靠近,也是指令式编程语言在实现声明式编程语言的过程。

html是计算机语言吗

先说答案:html是声明式编程语言。
当你要在页面上并排显示两个方框时,html并没有要求你把第一个方框的结尾横坐标设置为第二的方框的起始横坐标,而是让你给父标签添加flexbox属性。因为html解释器已经对并排的业务逻辑进行了抽象,并且解决了这个抽象问题,因此你的编程体验从指令式变成了声明式。
但由于html的所有抽象工作都和ui布局有关,因此被人们认为不是编程语言,但实际上它是一个业务能力很窄的声明式编程语言

图灵机与大语言模型

看完了上面业务能力很窄的语言,下面看下业务能力很宽的语言。
一切可计算过程都可以用图灵机模拟。而指令式编程语言无一不是按照图灵机模型进行设计的:一维且无限的内存+一套可以读写内存的操作。因此指令式编程语言继承了图灵机的计算一切的能力
与指令式语言形成明显对比,声明式语言的业务能力通常很窄。html只能写网页ui,sql只能查询数据库,prolog只能进行逻辑推理,正则只能用于搜索字符串,yacc/bison只能用于解析文法。那是因为业务抽象本身就是一个非常困难的事情,你很难把网页ui业务和数据库查询业务抽象成同一个业务,因此声明式语言的业务能力通常很窄。
但最近大语言模型的发展,似乎给了声明式语言抽象一切的能力。不管你问的什么问题,它都能从同一个神经网络给你提供答案。因此大语言模型如此受人喜爱,因为它是最理想的声明式编程语言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值