In January, the online magazine spiked asked me to write 200 words or less on the question, “What is the greatest innovation in your field?” I thought it was a dumb question, but I answered it anyway. The magazine still hasn’t put up the responses — I guess not enough “thinkers” got back to them yet — but today, since I feel like blogging and don’t have anything else to post, here is my response. Enjoy.
The greatest innovation in computer science was to represent machines — objects that do things, respond to their environments, surprise their creators — as nothing but strings of information. When I was a kid, my overriding ambition was to write my own Nintendo games. But while I could draw the characters and the levels, I had no idea what it would be like to breathe life into a game — to teach the game how to respond to the controller. I pictured thousands of engineers in white lab coats crafting a game cartridge using enormous factory equipment, as they would a 747.
Then a friend showed me a rudimentary spaceship game written in AppleBASIC. Look: here were the lines of code, and here was the game. Slowly it dawned on me that these screenfuls of funny-looking commands weren’t just some sort of blueprint for the game — they were the game. Change the code, and the game would do something different. Better yet, the task of writing the commands was ultimately just a big math problem. This was Alan Turing’s great insight of 1936. For me, it was a revelation comparable only to finding out where babies came from.
(Unfortunately, I’ve long since lost touch with the AppleBASIC-game-playing friend — last I heard through mutual acquaintances, he went off to fight in Afghanistan, and came back injured by a shrapnel bomb.)