This (Stop creating mutable objects.)
Imagine:
- If your bank account number changed every time you deposited or withdrew money.
- You had to buy a new fridge or freezer (or construct a new larder) every time you brought home new food; or consumed some.
- If you had to buy a new car every time you need to top up the tank.
(How would that work when you are driving and using fuel?)
Too real-world for OO programmers to consider relevant?
Then think on this:
Every time the balance in an account object changes; something has to 'mutate': either the current balance changes; or you create a new account object, duplicating all the attributes as the existing one
except the balance. And then discard (garbage collect) the old one.
"Spooky action at a distance" is a great quote from a great man about a truly spooky phenomena; and utterly bogus when applied to changing the bit-pattern held at a location in DRAM.
Read only objects are akin to, and equally nonsensical, as read-only variables: the triumph of theoretical dogma over pragmatic practice.
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
In the absence of evidence, opinion is indistinguishable from prejudice.
|