功能编程似乎是计算机科学的一种范式,它具有越来越多的回声.
我想知道使用函数式编程方法而不是更传统的面向对象方法可以更好地解决哪种问题.
谢谢.
函数式编程最适合于大多数类型的问题,包括通常使用面向对象编程的任何问题,除了可能需要存储大量状态或其他副作用的问题.除此之外,FP比OOP更优雅地处理复杂问题,因为其中很多都来自数学背景(从lambda演算开始).就抽象和构图而言,你有更多的灵活性.具有大量设计模式的面向对象程序可以使用更多功能构造进行重构,这将允许您在没有设计模式使您编写的样板结构的情况下执行相同的操作.除了数学和解析,FP还被广泛用于人工智能(特别是Lisp).
函数式编程非常适合创建可以进行并行执行的程序,因为它们不鼓励使用全局状态.
这与其他问题很接近.
为何选择功能语言
函数式编程有哪些好处?