Show business does not fuck around.
Your client is building a show that starts in three hours. In three hours, Katy Perry is going to ride a three-storey-high robot metal-and-glass camel or wildebeest or lion or whatever out onto the Super Bowl Halftime Show football field, and 100,000 American Football Super Fans are going to scream their lungs out, while a hundred and fifty billion people in front of their TVs reach for the nachos and guacamole.
And there’s a bug somewhere in your code.
You have three hours to find it and fix it, or the video doesn’t play and the show is a sad tragic Soviet-era nightmare and the American Entertainment Industry is humiliated and Katy goes into hiding and Pepsi sues the Super Bowl and they sue your client and your client sues you and you’re on the cover of the National Enquirer and your career is over and people burn effigies of you at the Macy’s Fourth of July parade and you commit ritual seppuku on Oprah but the shame attaches to your family and offspring and forever taints your name and Conan is mean about you on the Late Show.
Meanwhile, you’re swimming through treacle.
Every time you make a non-trivial change to your code, you have to wait for this thing called “the compiler” before you can see if it worked or not. Depending on the change, you’re waiting for anything from thirty seconds to half an hour.
Then when the program inevitably crashes or breaks, you have to “debug” it (a process about as much fun as hunting for a paperclip underwater in a bucket of snapping turtles, but with your hands tied behind your back).
And then you do it again, and again, and again, and again, until you’re cross-eyed and confused and it’s 5am and you’ve forgotten what your name is. Too tired to continue? Too bad: keep going until you find the problem and fix it. This is Sparta, honey.
Then when you think you’ve fixed the problem, you have to make an installer, send it to your client on the other side of the world over a 100-baud modem from the 1980s, they have to install it (which means they have to shut down the system, which means everyone else on the production loses their minds), and then check to see whether the update fixed the problem. Hint: it probably didn’t.
So a few years of this and I naturally started to dream of a better programming language - one that could get rid of all the treacle, and let me make changes instantly to a running system on the other side of the world, without sacrificing the speed and the power we needed. In my mind, it was tiny, nimble, and iridescent - a hummingbird to C++’s elephant.
I called the language zero, short for zero treacle.
Over time, a bit like puberty, these vague longings began to coalesce into an obsession.
Every time I went through yet another high-wire stress-nightmare no-sleep red-bull-accelerated ego-shattering near-death experience, and got frustrated with the editor or the language or the compiler or the debugger or the installer, I’d think : “how could this experience be better?” and tweak the design.
Of course, I had no idea how to actually make zero happen for real, nor any time to actually work on it. But as the design got stronger and stronger, year after year, I became increasingly convinced that this was the project I needed to devote the rest of my career to.
It took a while to extricate myself from the Massive Shit Grinder Fascinating Circus That Is Show Business, but thanks to an amazingly talented and patient bunch of people who helped me to let go, in March 2021 I was finally handed the keys to the next phase of my career.
Time to get to work!