我意识到这可能是一个非常主观的问题,但我正在寻找一些比我在函数式编程方面更有经验的人的见解.
我的理解是,保持一切不可变的主要动力是让事情更容易理解,并阻止错误蔓延到并行任务.这样做的缺点是,每次要对数据结构进行更改时,都必须将整个数据结构复制到一个新对象中,但需要进行所需的更改.据推测,这样做有一些性能成本:虽然对于一个小对象我不会这么做三次,如果你正在研究大型矩阵或张量,或类似的大型数据结构,那肯定会变得非常慢?
简而言之:
functional-programming immutability
functional-programming ×1
immutability ×1