Conversation

In trying to convince others that *global mutable state* is a bad idea, I realize I don't have any hard evidence - just abstract reasons. At the very least, I'd like an illustrative code example I could point to. Any suggestions?
13
10
While I enjoyed reading the blog post, to my mind it's a great example of the very opposite of what the OP asked for, which is "hard evidence" as opposed to "abstract reasons". (Well, YMMV, but it's still pretty much shaded over to the latter side.)
1
1
I might be coming at this from an FM perspective, but the fact we need new logics to handle it indicates it's harder to verify. Though that does not automatically mean it's harder to use from an engineering perspective.
1
3
I often use a rule of thumb that 'being harder to verify', often overlaps with 'being hard for humans to understand'. It'd be nice to have some harder data on this. A counterexample could be when you have to butcher/duplicate data structures in Coq to pass the totality checker.
2
3
But also a silly counterexample, it's super easy for humans to understand this function `do_all_five_shapes_in_plane_border_the_other_four a b c d e = false` but super hard to verify
1
1
Show replies