As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center提供指导。




已关闭8年。




您认为函数式编程的好处是什么?以及它们如何适用于当今的程序员?

函数式编程和OOP之间的最大区别是什么?

最佳答案

函数式编程的风格是描述您想要的东西,而不是如何获得它。即:不是说用迭代器变量创建for循环并遍历数组对每个单元格做事,而是说“等效于此标签指的是该数组的版本,其中所有元素。”

函数式编程将更基本的编程思想(例如列表推导和缓存)移入了编译器。

函数式编程的最大好处是简洁,因为代码可以更简洁。函数式程序不会将迭代器变量创建为循环的中心,因此可以从代码中消除此类开销和其他开销。

另一个主要好处是并发性,并发性更易于使用函数式编程,因为编译器会处理大多数以前需要手动设置状态变量的操作(例如循环中的迭代器)。

在某些情况下,也可以在单处理器的环境中看到一些性能优势,这取决于程序的编写方式,因为大多数功能语言和扩展都支持延迟评估。在Haskell中,您可以说“此标签代表包含所有偶数的数组”。这样的数组是无限大的,但是您可以随时请求该数组的第100,000个元素,而不必在数组初始化时知道​​您将需要的最大值是多少。仅在需要时才计算该值,而不会进一步计算。

10-04 14:28