Adam = new HumanBeing { Sex = Male }

Adam Invoke Multiply()
 - ERROR: "SuitableHelper not found"

Adam Invoke GetStatus()
 - "Lonely"
Foreach (creature in [LiveStock, Birds, WildAnimals])
  Adam.AssignName(creature)

  if (creature.IsSuitableHelper)
    Adam.SuitableHelper = creature
Loop

if (Adam.SuitableHelper = "not found")
  Eve = new HumanBeing { Sex = Female }

Adam.SuitableHelper = Eve

There’s a part of this story that is easy to overlook. It was when God deferred the naming of birds and animals (and presumably–at a later time–fish) to Adam. I don’t think he was saying names don’t matter. Instead, I believe this is an acknowledgment of truths that apply to software too:

  • People care about how things are named.
  • Allowing people to chose names can help them feel involved and give a sense of ownership.
  • But, ultimately, naming things well is hard. If you can, get someone else to do it.