Programming computers is hard because, as Hal put it, it isn't about programming, and it isn't about computers.
A wizard conjuring a computer program. Generated by Dall-E
Even the most mundane of programming issues are rooted in profound questions:
- "Why are my dependencies broken?" => "What is causality?" [1]
- "Should I check for null?" => "When can we know a program is correct? Design time, compile time, or run time?" [2,3]
- "Why don't I understand this code?" => "What is memory, cognition, and language?" [4]
- "Why is this program buggy?" => "What is a proof?" [5,6]
While you'll overhear the questions on the left rising from the desks of developers on a Tuesday afternoon, their answers are surprisingly elusive and timeless.