计算机算法与程序的联系与区别,软件和程序的区别

2013-11-18 21:26 "@SpeedVan"的内容

传统方式只是让机器运转而已,而且很难模仿出逻辑

我很赞同这句话,你这段话让我有兴趣研究FP和逻辑之间关系,找到一篇文章:

问题:

我一直在阅读了许多文章试图了解函数和逻辑编程之间的差异,但我到目前为止只知道,逻辑编程定义方案是通过数学表达式。但是,这样的事情是不相关的逻辑编程。

答案:

我不会说,逻辑编程定义是通过数学表达式,这听起来更像是函数式编程。逻辑编程是使用逻辑表达式(当然,最终的逻辑是数学)。

在我看来,函数和逻辑编程的主要区别是“积木building blocks”:函数式编程使用函数,而逻辑编程使用谓词。谓词不是一个函数,它没有返回值。根据它的参数值,它的值可能是True或false,如果一些值是不确定的(通常情况下),我们将尝试找到谓词真值。

Prolog语言使用的一种特殊形式命名Horn子句属于一阶逻辑的逻辑条款; Hilog使用高阶逻辑的句子。

有人说,逻辑编程是函数编程的一个超集,因为每个函数可表示为一个谓词。

比如foo(x,y) -> x+y. 写成:

foo(X,Y,ReturnValue):-

ReturnValue is X+Y.

逻辑和函数之间的另一个区别是回溯backtracking。

..

完。

抄一段话:

Imperative programming is painting, logic programming is sculpture, declarative programming is word art, functional programming process art

命令式编程是绘画,逻辑编程是雕塑,声明编程是艺术字,函数式编程是工艺美术品

[该贴被banq于2013-11-19 08:22修改过]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值