functional programming的好处

1. referential transparency: 相同参数,每次调用,返回的结果都是一样的。

2. lack-of-side-effects:无side effects,也就是不会改变“外面的世界”(通常是改变全局变量,或者output io)

为什么这两个特性这么好呢?因为把每个function都独立起来了。(从代码级别的隔离,卧槽)。


面向对象中的class提供的一个主要功能就是屏蔽内部的数据,而函数编程这方面更好。

面向对象编程,产生的一个问题是,会把一些函数和class绑定起来,减少了可重复利用性。

而函数编程,则把数据结构和函数解耦。

a) decoupling functions and data and 

b) programming to a small set of abstractions, you end up with more reusable, composable code.


还有一点还是没想清楚:函数编程,多线程是怎么搞的,imutable data structure是怎么帮助多线程编程的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容