声明式编程和命令式编程的比较

来源:互联网 发布:amesim动力学仿真软件 编辑:程序博客网 时间:2024/05/21 11:23

这种都是方法论的理论文章,看看能扩展下思想。

文章具体看链接http://www.vaikan.com/imperative-vs-declarative/,我就不copy了。

写下个人理解:

1,声明式编程专注于what,函数式编程专注于how。

2,但归根结底总要有人去做how吧?疑问

是的,计算机是一定要有人告诉它具体每一条命令的。但程序员在编码过程中就有多种方式了,

这是编程思想的区别。你可以上来就1,2,3,。。。代码告诉计算机每一步。也可以把一些通

用逻辑抽离出来,就像文章中提到的map、reduce,map就是对遍历的抽象,reduce是另外一种

对干什么的抽象(这个还真不好描述:计算结果与后一项再计算结果?)。我们把这两个what抽

象出来后,写代码时候就变成了我要map这个list,我要reduce这个list等等。计算机会去找map得

遍历实现,reduce的实现,最终去计算结果。

3,看了第二点,你可能会问这特么不就是抽象么,不就是函数么不就是封装么?骂人

咱不能这么狭隘,编程世界什么不是函数?什么不是抽象?

咱要提升下眼界,这是方法论,是编程思想,不是去讨论具体实现一个函数或者功能。

4,怎么才是声明式编程?

我认为声明式编程是这样的,你在功能构思的时候首先考虑的就不是第一步这样,然后再这样。。。

你的编程思想应该是去关注我要先干什么,然后再干什么?然后在底层实现每一步怎么做。

这就是思想的区别安静

0 0