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
"Visual Programming" failed (and continues to fail) simply because it is a lie (...)
When I write code, for example a layout algorithm for a set of GUI elements, I visually see the data in my head (the GUI elements), then I run the algorithm and see the elements "move" into position dependent upon their dock/anchor/margin properties (also taking into account previously docked elements positions, parent element resize delta, etc). This is the visual I need to see on screen! I need to see my real data being manipulated by my algorithms and moving from A to B. I expect with this kind of animation I could easily see when things go wrong naturally, seeing as visual processing happens with no conscious effort.
Instead visual programming thinks I want to see the textual properties of my objects in memory in fancy coloured boxes, which is not the case at all.
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
the author sees and manipulates indirect symbolic representations, and must imagine how they give rise to dynamic behavior