If I Change My Opinion on Immutability, Kill Me 0 ▲ joshmoody.org 13 hours ago · Tech · hide The default way to manage software state is variables. As in "vary." As in data that changes over time. Mutation should not be convenient. I wish software was based on immutable, append-only values instead. I don't even want computer science students to learn mutation until advanced courses. Why? You can't change the past. Good software models reality. Mutation erases your record of the past. Mutation only saves time and space. Most software has time and space to spare. Schools should teach what most software needs first. Therefore, schools should teach mutation late. For the long version, see Immutability Changes Everything. Engineering from an immutable-first perspective results in better-designed systems. To paraphrase Rich Hickey, there may be legitimate reasons to sacrifice immutability, but boy, there's no reason why you shouldn't start with it. You are probably not the exception. Immutability is good enough for Bigtable, so it's probably good enough for you. And if your… Commenting on Bubbles has been removed. Why? If you want to talk about this post, write to the author, use the comments on their blog if it has them, or reply with a "RE:" post on your own blog. Suggestions? feedback@bubbles.town