Programming and literacy
I'm setting aside my devices for a full week to enjoy a digital fast / analog feast in the Utah mountains with my extended family. I wrote the following thoughts a few weeks ago as I reflected on the coming of AI-powered programming tools that will change what it means to program. Enjoy!
Humans are tool makers.
Programming is one of the most powerful tools humanity has created, right alongside spoken language and writing, and the destiny of programming mirrors their ubiquity. Like speaking and writing, programming is an expressive medium. Speaking enables you to communicate your ideas. Writing enables you to capture and replicate your ideas. But programming enables you to make your ideas executable. Programming will eventually become a fundamental human capability.
Like reading and writing before it, programming will morph and adapt over the next few hundred years and spread through the human race until it's considered part of "basic literacy." By the time the majority of the human race is "programming literate", it will barely resemble what we think of as programming today. To get a glimpse of how radically it will change, let's consider how writing changed throughout history.
At one time, the only people who could write were a special group of people known as scribes. During that time, books were made by hand, painstakingly copied by professionals trained in the art. But that's not all a scribe did. Scribes "had to carefully cut sheets of parchment, make the ink, write the script, bind the pages, and create a cover to protect the script." 1
Are the making of parchment and ink and the binding of pages intrinsically related to the skill of writing?
We live in a tiny sliver of history when the ability to program is a skill reserved for a highly-trained class of people. Much of what we now called programming is actually just parchment-making and book-binding. Legitimate skills, and valuable ones, but not intrinsic to the practice of programming.
Be prepared to let go of your book-binding and ink-making. Mourn their loss, but rejoice that the joy of programming continues to spread!
Tools for Thought Interchange
I'm helping to organize a monthly talk series called Tools for Thought Interchange (you can view a recap of Event 1 and Event 2). The focus of the talk series is to bring together people working on various tools for thought to both exchange ideas and explore how these tools can work together. The next event is Wednesday, July 28th @ 9-10:30am PT and you can sign up here.
Linus Lee is going to talk about Incremental Note-taking and his new personal search engine Monocle. We're still looking for two more speakers. If you'd like to show off something you're working on, demo your personal tool for thought workflow, or just talk about an idea you're thinking about, fill out the form here.
Things that caught my eye
- I think a lot of the innovation we need with computing is at the layer of the operating system: the environment where applications are developed and run. I've been curious for a while what Rasmus Anderson is up to with his project Playbit. He talks a little about the project, the ethos behind it, and the technology on this recent MetaMuse podcast. Definitely worth a listen.
- One of my favorite educators is bassist Victor Wooten. Outside of his multiple Grammy awards, he did a fantastic 5 minute video called Music is a Language about learning music by "speaking the language." I came across a thread with recordings from one of his many free bass camps where he talks about how there are no wrong notes and "feel" matters much more than "correctness."
- I mentioned Linus' Monocle above, but I think an overlooked point about "tools for thought" is that our thinking exists in many, many different forums on our computer: from tweets, to source code, to email. The opportunity to search across our personal output seamlessly is extremely compelling, and probably more immediately useful for many who haven't built a structured habit around note-taking. I love how Linus consistently builds tools that allow him to "live in the future" and see what it feels like to live with different software.