Future Of Coding

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.

As you might remember from my last newsletter, I started looking for the next thing after Ink&Switch at the beginning of the year. I'm happy to report that I'm going to continue working on Future Of Coding efforts as a Design Engineer at Replit. I'm excited about the opportunity to work on these sorts of problems, and at the same time be so much closer to authentic users, the industry, and work on a great product exactly what I was looking for!

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
  • this might be an instance of a more general problem, as a similar thing happens with "Future Of Coding" - you can't improve coding, without improving coding for something:

    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.

    Steve Krouse about his conversation with Bret Victor

  • the Future Of Coding community tends to romanticize about inventing a new meta-medium, giving everyone agency over computing, allowing people to think new thoughts, etc. - this is often compared to inventing writing or a printing press
    • but, writing seems to have been invented for the most pragmatic reason - for bookkeeping:

      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.

      Why did humans start writing?

      • 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
    • same with printing press, which again was invented for pragmatic, economical reason - not with the goal of turning everyone into a scholar