Index of notes related to improving the way we create dynamic systems:
As a small aside (slash ramble), "programming" is in quotes, because I really don't like that word for describing this sort of work. I have some early illegible thoughts about this in End-User Programming vs Programming note, but the gist of it is that what I've been after in this research track is "programming" as a tool for understanding, and working with, dynamic systems — same way as a numerals and mathematical notation are tools for working with mathematical ideas. It now seems to me that a lot of Future of Coding work (including most of my own!), is about making lives of "expert symbol manipulators" easier — which is definitely worthwhile — but this year I started to understand that there's a lot of value in making "working with dynamic systems" accessible to everyone, and that might need another approach than iterating from where we are right now.
the author sees and manipulates indirect symbolic representations, and must imagine how they give rise to dynamic behavior
You can't just improve coding. You need a broader mission. Everyone who's improved coding, Papert, McArthy, Alan, has done it with a broader goal in mind, and the technology fell out of that.
It has been argued that writing in Mesopotamia (present-day Iraq) grew from a counting system of clay tokens used to record transactions of goods. The goods represented were inferred by the shape of the tokens: spheres, cones and discs stood for measurements of grain, while cylinders stood for livestock. This counting system was used from 7500 BC onwards across the Fertile Crescent, from the Mediterranean coast down to the Persian Gulf.
- writing is one of the most important technical achievements of humanity - allowed for sharing ideas across time and space, gave us a way to look at our own thinking (metacognition), etc. - but it wasn't made with those lofty goals in mind