Skip to content

Instantly share code, notes, and snippets.

@noahlt
Created April 10, 2019 16:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save noahlt/6444ae9c4e0eb32b5423bf474feb3fe2 to your computer and use it in GitHub Desktop.
Save noahlt/6444ae9c4e0eb32b5423bf474feb3fe2 to your computer and use it in GitHub Desktop.
Don Knuth on purpose and success

As I was designing a chip for a very simple RISC computer, I was surprised to find that the easiest and somehow the best way to design this chip was to have it doing all kinds of things that would never be needed afterwards. I mean, two binary numbers were input to the chip at each clock cycle, and the adder would add them and the subtracter would simultaneously subtract them, and the multiplier would multiply them. These things were all going on at once inside the chip, but only one of those results would survive and actually be used in the computation in the next step. In this way the chips were operating quite differently from the computer programs I had been writing before.

The alternative would have been to design the chip so that every circuit inside the multiplier had extra inhibitors on it saying, “Don’t multiply unless I tell you to.” That would add an awful lot to the hardware.

I started thinking about this as an interesting metaphor for society and the world in general. It might help us to reformulate our notions of “purpose.” There is good reason for a thousand people to work on a problem even though the people know in advance that only one of them is going to influence the final answer. Everybody can take pride in what they do even if it doesn’t show up in the next generation, because otherwise less would get done and people would be idle.

You might find it interesting to muse about that a little bit.

—Don Knuth, Things a Computer Scientist Rarely Talks About (2001) page 197

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment