computation as simulation
One of the realizations we had about computers in the 60s was that they give rise to new and more powerful forms of arguments about many important issues via dynamic simulations. That is, instead of making the fairly dry claims that can be stated in prose and mathematical equations, the computer could carry out the implications of the claims to provide a better sense of whether the claims constituted a worthwhile model of reality. And, if the general literacy of the future could include the writing of these new kinds of claims and not just the consumption (reading) of them, then we would have something like the next 50 year invention after the printing press that could very likely change human thought for the better.
— The Real Computer Revolution Hasn't Happened Yet - Alan Kay
What kind of a thinker would you become if you grew up with an active simulator connected, not just to one point of view, but to all the points of view (...) so they could be dynamically tried out and compared?
— User Interface, a Personal View - Alan Kay
Programming with live, embodied objects. There's a distinctive difference in how it feels to program a system where everything is represented by a visible, embodied, and responsive representations — instead of one where you refer to things by abstract names, and imagine what will happen when the program runs (by playing Simulator in your head). Importantly, this is not what most of "Visual Programming" (that I know of) tries to solve — these projects are usually about visualizing the structure of the program which is not as useful as Visualizing the Domain of the Problem.
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