A quick argument for naming all software prototypes after birds

  1. Software ought to have a memorable name.
  2. It's good if software has a name that accurately describes what it does, but it's bad if it inaccurately describes what it does, and the magnitude of the badness of the mis-description is usually much larger than the benefit of an apt description.
  3. It's hard to predict how software will evolve.
  4. So a basic expected value calculation, in light of (2) and (3), suggests that software should not be given a descriptive name from the start.
  5. And it's best not to spend too much time thinking about a prototype's name.
  6. There are lots of birds, with names that are memorable but not descriptive, and it's easy to find long lists of bird genera.

It's my ["foo", "bar", "baz", ...] of software naming. And note that you can pick a name that evokes the idea of what you intend the software to be, without limiting it.


Home page