Thanks for the explanation: I disagree with both, though.
Yes, it is hard for customers to understand the determinism behind some software behaviour, but they can still do it. I've figured out a couple of problems with software I was using without source or tools (yes, some involved concurrency). Yes, it is impractical because I was helped with my 20+ years of experience building software.
Any hardware fault might be unexpected, but software behaviour is pretty deterministic: even bit flips are explained, and that's probably the closest to "impossible" that we've got.
Yes, it is hard for customers to understand the determinism behind some software behaviour, but they can still do it. I've figured out a couple of problems with software I was using without source or tools (yes, some involved concurrency). Yes, it is impractical because I was helped with my 20+ years of experience building software.
Any hardware fault might be unexpected, but software behaviour is pretty deterministic: even bit flips are explained, and that's probably the closest to "impossible" that we've got.