Chris Martin

Pencil effects

All programs must have side effects to be useful — can we please stop repeating this awful lie? Side effects are great, but they must not be observable from within the program. It is same with pencil-and-paper: writing out a calculation shortens the pencil lead, but the calculation isn’t affected by that. If you believe programs can be proofs, you cannot think they must have side effects to be useful.


From these tweets:

"All programs must have side effects to be useful" - can we please stop repeating this awful lie?

— Brian McKenna (@puffnfresh) August 3, 2013

.@puffnfresh Side effects are great! But they must not be observable from within the program!

— Jon Sterling (@jonsterling) August 3, 2013

@jonsterling @puffnfresh It's same with pencil-&-paper. Writing out a calc shortens the pencil lead, but the calc isn't affected by that.

— Tracy Harms (@kaleidic) August 3, 2013

@pelotom we've come full circle: if you think programs can be proofs you can't think they must have side-effects to be useful. @puffnfresh

— Miles Sabin (@milessabin) August 3, 2013