对比OOP describedFP described 对比 Functional Programming OOP 使用不可变数据 使用可变数据 遵循声明式编程模型 遵循命令式编程模型 更关心做什么 更关心怎么做 支持平行编程(无副作用,不对其他部分产生影响) 不适合平行编程 无副作用 执行方法会产生严重的副作用 控制流通过函数调用和函数递归调用来实现 控制流通过循环和条件语句来实现 使用递归概念来迭代集合数据 使用循环来迭代集合数据 语句的执行顺序并不重要 语句的执行顺序很重要 支持对数据和行为的抽象 仅支持对数据的抽象