There's always been something about state and immutability that irked me the wrong way and I'm very happy to see it being put into words and code examples.
There's always been something about state and immutability that irked me the wrong way and I'm very happy to see it being put into words and code examples.
No. It can reduce the cognitive load if applied in the correct place. It can just as easily increase the cognitive load if applied in the wrong place. Immutability should be used with care, not used always.
http://www.infoq.com/presentations/Are-We-There-Yet-Rich-Hic...
The clarity of thought and the way he communicates the ideas is really impressive. Especially the notion of immutable structures being about managing time, and that's why the original blog is wrong. What he seems to totally miss is the fact that with immutable structures you can keep the old world and the new world: not collided and collided. And then step back in time to the not collided state. It gets far too bogged down on implementation attempts and doesn't think about the problem conceptually.