Computing is really about understanding, inventing, and building systems. As in many cases in the past in science, when existing math is not up to the task, new math has to be invented. In this case, one of the needs for new ways to think about what's going on stems from the degrees of freedom available and addition of the dimension of time.
The degrees of freedom and extent of dynamic relationships in desired artifacts, generally mean that they have to be debugged rather than proved. (And there are parts of math where proofs have some of the same quality - all proofs have to be debugged, some proofs actually require modeling them on a computer to debug them.)
Some of the earliest pioneers realized that the computer was "meta" in that it could be a great vehicle for modeling ideas about itself, so that much of the new math that was needed could be "extracted" from the "process space" itself. Many computer "theories" are models of processes written as running systems that can be debugged and explored.
— Was computing dumbed down by the arrival of computer science in academia? - Alan Kay
A Compact And Practical Model of Personal Computing As A Self‐Exploratorium
— STEPS 2011 - Alan Kay
the author sees and manipulates indirect symbolic representations, and must imagine how they give rise to dynamic behavior
- this could be improved by (Future Of Coding):
- seeing the dynamic behaviour that is being created (Simulator)
- exploring multiple representations of that behaviour (Ladder of Abstraction)
- directly manipulating representations and data
a software system is an instance of a more general class of systems, so it's possible to write about "programming" using ideas that aren't actually specific to programming