用函数式编程风格进行编程通常可以为复杂问题提供令人惊讶的优雅解决方案。这部分是由于从位置和状态中抽象化,而以数学的方式从价值和功能的角度来思考。此外,重要的是,没有副作用意味着组件很容易组合。这对于并行程序来说尤为重要,因为这意味着缺乏副作用导致代码可以并行运行,但具有确定的顺序语义。由于函数式编程风格关注的是值而不是状态,因此它从内存和位置的概念中抽象化了出来。这既可以被视为失败,也可以被视为机遇。
一方面,它不能让用户控制内存的布局或计算过程中操作的顺序。这就不允许用户进行许多对现代硬件上的性能至关重要的优化——例如,邻接布局结构以使它们共享一条缓存线,或避免间接性级别(通常称为装箱)。
没有发现记录