AI Is Not Democratizing Programming
Last updated:Although I have heard this elsewhere, I am spurred to write this post in response to DHH's (David Heinemeier Hansson) article Let the agents democratize open source. He's trying to paint us as elitists gatekeeping programming.
But let's be clear: vibe coding is not programming. If you have a programming friend, and you ask him to write a program, are you programming? No, of course not and this is invariant if your "friend" happens to be a chat bot.
As I understand it, during the Axial Age, phonetic alphabets, as well as a stanardized writing direction(!) helped to democratize reading and writing (though it took centuries). Prior to that, writing systems like Egyptian Hieroglyphics were relegated to a few people known as scribes.
Today, listening to an audiobook is not reading. One does not gain literacy through that act. I can imagine Egyptian scribes declaring that the "audioglyph" does not democratize their profession, and they'd be right. Using a tool as a proxy to that form of literacy does not make you literate.
And in both cases what's needed is not that proxy tool, but an improved language that is more easily graspable by the common man. In case it is not obvious, I am not against more people programming. I'm very much interested in the democratization that can occur when we can all write programs to make all of the devices do our bidding just as easily as we text our friends. I believe another "age" of mankind can arise when the programmer goes the way of the scribe.
I want to recall another post I wrote referencing an article by Alan Kay. My focus was on the system he presented where everything could be used within the user's custom program. The aritcle is titled Programming Your Own Computer. This is a clear invitation to all people, and Alan conjures up a vision of a world where kids are using their devices (laptops, basically) out in the world. They're sitting in a nice grassy field manipulating all of the stuff on the screen. They're manipulating it by programming.
Writing has never left us as a profession, even though nearly everyone learns to write. Programming, like authoring will also remain a career. But being able to write your own little programs and scripts is very liberating.
I believe in a lot of ways our computers are too complex. I imagine many people, while using their devices have thought "if only I could do this…" Maybe, "if an email arrives from grandma, play a specific sound and put an icon in the notification bar." The artifacts of moderrn programming and hardware design are too isolated, and insufficiently modularized.
The OS should expand to incorporate these new artifacts. In the era of the internet, email addresses, URLs, hashtags, and handles should be as fundamental datatypes in the OS as files are.
To truly democratize programming, I think a two-pronged approach is needed. We need to teach programming as a mandatory class in our public schools. And we need to simpllify our software designs so that they can be grasped.