- Software ought to have a memorable name.
- 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.
- It's hard to predict how software will evolve.
- 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.
- And it's best not to spend too much time thinking about a prototype's name.
- 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.