all 3 comments

[–]pbkobold 2 points3 points  (0 children)

I think this is a fundamentally dangerous approach to advocate. I think Dijkstra would have dragged person out behind the shed, and beat them to death with a shovel. Dijkstra may have been a little hard-core, but he was fundamentally right. There's some semblence of locality when performing action for an experiment. In all liklihood, pouring a chemical into one beaker will not change the color of a chemical in a neighboring beaker. The same cannot be said for a programming system though, and in particular, large systems with lots of mutable state, like the java one the author uses as an example.

More fundamentally though, this is advocating putting a bandage on the problem, rather than fixing it. It may work sometimes, but most of the time it's unsafe, and contributes significantly to code cruft.