When I was a kid, I used to love experimenting with programming. I first learned on a ZX81, with a magnificent 1KB of RAM, typing in simple games programs from books every session because there was no storage device to save them. That experience, that joy of being able to create something fun, sparked an interest in what these amazing technologies we have invented can do.
Some of my slightly younger friends were lucky enough to have more powerful systems like the BBC Micro available by the time they reached that stage. Those were brilliant because you could connect anything to them. When they were writing simple LOGO programs at school, they didn’t just draw a circle on the screen, an actual mechanical turtle with an actual pen would draw a circle on a real piece of paper, right before their eyes.
Now I want to offer that same joy and intrigue to the next generation of my family. Today’s ubiquitous computing devices are phones and tablets, each with numerical specs many orders of magnitude bigger than that ZX81. That little boy typing in listings from a book now has multiple decades of professional programming experience to share.
And yet, I can’t sit down with my own child and write even the most simple game on those devices, because for all their theoretical power, they lack even a rudimentary programming interface. In some cases, I can’t even write a game myself on another system and port it, because the whole ecosystem is closed off.
How is it that in a time when children seem, often all too soon, to be carrying around more processing power in their pockets than a supercomputer had when I grew up, they still can’t enjoy the sense of freedom and discovery that I experienced with my little ZX81 and its 1KB of RAM and no storage device in the 1980s?