Original version of This story Appeared in Quanta Magazine.
In the movies OppenheimerNiels Bohr, early in his career as a physicist, posed the following challenge:
Bohr: Algebra is like musical notation. The question is not whether you can read it, but whether you can hear it. Robert, can you hear the music?
Oppenheimer: Yes, you can.
Algebra cannot be heard, but machines can feel it.
Even before I touched a computer, I had a feel for the machines. In the 1970s, I waited for the arrival of my first computer, a Radio Shack TRS-80, and imagined how it would work. I wrote out some simple programs on paper and felt the machine I didn’t yet have process each step. It was almost disappointing to finally input the program and get only the output without experiencing the process taking place inside.
Even now, I don’t visualize or hear the machine, but it sings to me. I feel it humming along as it updates variables, loops, branches, searches, arrives at its destination and gives me an answer. To me, a program isn’t a static piece of code, it’s the embodiment of a living thing that follows my instructions and (hopefully) succeeds. I know that computers don’t physically work this way, but that can’t stop my metaphorical machine.
Once you start thinking about computation, you start seeing it everywhere. Think about sending a letter through the mail. You put the letter in an envelope, address it, put a stamp on it, and drop it in your mailbox, and somehow it gets to the recipient’s mailbox. This is a computational process – a series of operations that move the letter from one place to another and deliver it to its final destination. This routing process is similar to what happens with email or any other data sent over the internet. It may seem odd to see the world this way, but Friedrich Nietzsche is said to have said, “Those who are seen dancing are deemed mad by those who cannot hear music.”
This innate sense of machines at work allows us to apply a computational perspective to almost any phenomenon, even one as seemingly inexplicable as the concept of randomness. Even something as seemingly random as the tossing of a coin can be fully explained by a complex computational process that produces an unpredictable outcome: heads or tails. The outcome depends on a myriad of variables, including the force, angle, and height of the toss, the weight, diameter, thickness, and mass distribution of the coin, air resistance, gravity, and the hardness of the landing surface. The same is true when shuffling cards, rolling dice, spinning a roulette wheel, or generating “random” numbers with a computer. To generate “random” numbers with a computer, all you have to do is deliberately run a complex function. None of these are truly random processes.
The idea goes back centuries. In 1814, he A philosophical essay on probabilityPierre-Simon Laplace was the first to describe an intelligence capable of predicting outcomes, now known as Laplace’s Demon: