面向对象与函数式编程-世界观

面向对象:

一切皆对象;通过对象的构建和组合来模拟系统,最终通过这个系统来解决问题。

消息和信息在这个系统中流转。

语言的底层支持就是通过对象来构建以对象为单元的联系的系统。

 

函数式编程:

一切皆计算;这个系统就是通过计算单元的组合构建成更大的计算单元,从而完成对信息和信号的处理。

本质上就是构建一个信号处理系统。

语言的底层支持是支持计算的组合和构建。

换句话说,函数式编程语言的关键字和底层单元都是构建器,这个构建器的输入是计算单元,输出是更大的计算单元。

构建器本身完成函数调用的约定、部分变换处理、惰性计算等操作。本质上是组合的关键部件,完成组合和转换的功能。

引入monad就是为了这个目的,即语言底层的组合和变换支持。

 

这两种编程范式具有不同的世界观。

面向对象模拟多维联系的世界;

函数式编程模拟信号处理系统。

 

这就决定了它们的使用场景的不同。

面向对象处理联系的复杂性和多维性;面向对象简化联系。

函数式编程处理计算的复杂性和信号处理的复杂性;函数式编程简化计算。

转载于:https://www.cnblogs.com/feng9exe/p/8662526.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值