逻辑式语言,过程式语言,函数式语言?

2021-11-04 科技 209阅读
那当然是D了。你看看专家系统的历史就知道,那些逻辑式语言都是专为专家系统,自动证明这些应用设计的。例如著名的prolog。逻辑式语言一般依据成熟的逻辑体系来设计,比如first-orderlogic(用于prolog),因为这样有几点好处:
1)可以进行严密的逻辑推理;
2)可以方便有效地定义knowledgebase,这在专家系统中很重要;
3)开发者不必考虑实现过程而只需考虑定义和结果。这符合专家系统的设计理念。
---------------------------------------------
其他三种语言,不是说就绝对不能用来做专家系统。但是你实现逻辑得自己写,而且可能还得自己写语义分析,而这些D都已经包括在语言中了。D和其他的最大区别是其他几种语言只定义了语义,而没有实现过程。包括面向对象语言中的方法、函数式语言中的函数,过程式语言中的过程,这些都需要程序员自己写。但是D可以说是基于前面三种语言开发出来的,所有的过程是内定的,程序员完全不需要实现。前三种更基础,尤其是B和C。
具体来说,C是面向过程,例如pascal,也就是程序被看成一个过程,自上往下一句一句地执行。
B是面向函数,例如c语言,和棉线过程有些类似,但是出现了函数的概念,一般程序都有一个主函数才能运行,整个程序就是不同功能的函数一个调用一个这么进行下去。
A是面向对象,例如Java,这是近十年发展起来的语言,更进一步,它可以描述类,物体。而把属性、方法这些之前面向函数语言中的元素现在赋给了类。类是A最基本的组成部分,就像函数是B最基本的组成部分,过程是C最基本的组成部份一样。
---------------------------------------------
按C、B、A的顺序,语言动态性逐步增强,产生时间也越来越晚。各有各的特点,每种语言都有人在用,因为用处各不相同。D更特别一点,领域针对性比较强。一般是在人工智能领域中用到。C选项现在用的范围也比较小,一般可能当数学工具使用。
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com