有人能解释函数编程模型与面向过程或面向对象的模型有何不同吗?我自己无法给出一个好的答案。
发布于 2015-12-02 14:55:00
在我看来,FP是关于纯函数(也就是数学意义上的函数)--这意味着参考透明度,如果你继续思考,数据是不变的。
这是我所看到的最大的区别:您不需要对数据进行变异--而且大多数其他方面都是直接从这一点或从酷类型--系统(这对于一种语言被称为函数式)和学术性来说是不必要的。
当然,它还有更多的内容,你可以阅读论文,完整的书籍,或者仅仅是维基百科。
请注意,您可以争议纯属性,然后事情变得更加模糊.这不应该让你感到惊讶,因为大多数功能语言都允许变异(Clojure,Scala,F#,Ocaml,.)也没有太多的纯粹的。
在这种情况下,最大的区别可能是用高阶函数抽象事物的方式(至少函数应该是一流的公民--这意味着您可以传递它们并将它们作为值)。
但是总的来说,这个问题实际上是固执己见的,很有可能是宽泛的或者什么的--也许你应该问一些细节,而不是的大图。
https://stackoverflow.com/questions/34045332
复制相似问题