Interesting claim: to what extent does OO promote setters simply to avoid unwanted/accidental mutation? From
Related Posts
What are the most interesting upcoming scripting languages? Scripting remains an important part of the programming language ecosystem.
Optimise time to first feature. Allow mutation of the running system to experiment. Interactive inspection of data.
`init` feels like an unhelpful name in OO. It doesn't give you an initial value, it initialises the instance that has already been created. Developers are often surprised that init doesn't return the instance, because they have a strong association with `new Foo()`.
Perhaps `finish` would have been a less confusing name?
I've started keeping a list of particularly interesting bugs and patches that I've worked on: https://github.com/Wilfred/interesting-code
The time that I once removed *a single closing paren* in Emacs is still my favourite.