3 ms·
> but it reduces the cognitive load. No. It can reduce the cognitive load if applied in the correct place. It can just as easily increase the cognitive load if
by RyanZAG 11y ago
> but it reduces the cognitive load.
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.
- fnordsensei 11y agoI would contend that it's exactly the opposite; mutability should be used with care, not used always.
- louthy 11y agoTotally agree. Mutability adds significant cognitive difficulty that just goes away with immutable structures. Here's a great talk by Rich Hickey on the subject. http://www.infoq.com/presentations/Are-We-There-Yet-Rich-Hickey http://www.infoq.com/presentations/Are-We-There-Yet-Rich-Hic...
- kkoomi 11y agoI'm watching this now and just wanted to say thanks for the great link!
- louthy 11y agoMy pleasure :) Even though I'm fully bought into the functional and immutable idea (I have a couple of fairly popular libraries bringing the functional world to C# [1][2]), I still like to watch this video from time to time. 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. [1] https://github.com/louthy/language-ext https://github.com/louthy/language-ext [2] https://github.com/louthy/csharp-monad https://github.com/louthy/csharp-monad