Who knows about correlation or causation, but programming and humility go together. Training people to always ask the questions:
- How do I know that this is true?
- What would otherwise have to be true for this conclusion to follow?
- How can I bisect this process to test a hypothesis?
So much wishful thinking and jumping to conclusions could be avoided if programming (and debugging more specifically) is a training to viscerally understand the scientific method.