User programs: a way to match computer systems and human cognition