This is a brief little post about naming. Naming is well-known to be one of the hardest problems in computer science. But why is this the case? I claim that one of the reasons is because often naming systems are being asked to do triple-duty; a single name is used to perform the three functions of reference, identity, and display. What does this mean? Consider a group of people. Each person has a name. However, these names may not be unique. If I want to refer to a person, I might say somethi...