编程范式
函数式编程是一种编程范式,我们常见的编程范式有命令式编程、函数式编程、逻辑式编程,常见的面向对象编程是一种命令式编程。
命令式编程
命令式编程是面向计算机硬件的抽象,有变量(对应存储单元),赋值语句(获取,存储指令),表达式(内存引用和算术运算)和控制语句(跳转指令),命令式程序就是一个冯诺依曼的指令序列。
函数式编程(FP)
函数式编程是面向数学的抽象, 将计算描述为一种表达式求值, 函数式程序就是一个表达式。
函数式编程中的函数这个术语不是指计算机中的函数,而是指数学中的函数,即自变量的映射。也就是说一个函数的值仅决定于函数参数的值,不依赖于其他状态。比如sqrt(x)函数计算x的平方根,只要x不变,不论什么时候调用,调用几次,值都是不变的。
由于函数式编程是面向数学的抽象,更接近人的语言。函数式编程更关注结果,相对的命令式编程关注解决问题的步骤。使用函数式编程,代码会比较简洁,也容易被理解。


