This talk posits an understanding of programming as an engineering discipline, one which seeks to resolve certain common questions:
- is programming a form of mathematics?
- why does code "rot"?
- when why do naïve approaches fail?
- why does code complexity explode with only marginal increases to problem complexity?
It relates this question to the "pathetic fallacy," a literary term that refers to a falseness of pathos, an overly sentimental anthropomorphising of the inanimate, which is argued to be a common explanation for the pathologies that lead to code rot, to the inexplicable failure of the naïve approach, and to explosions in model complexity.