Wandering Thoughts archives

2010-07-10

People forget exceptions

One of the possible replies to the problem of Unix programs exiting non-zero for clever reasons is that all of these special cases and clever reasons are clearly documented in the manpages for the various commands, so all of these problems are not the fault of the authors of the commands.

This view is objectively wrong. The clear, well established truth is that people do not remember weird little exceptions and funny little corner cases in what your program does unless they use your program all of the time (in fact, unless they frequently run into those exceptions). What is there in your documentation doesn't matter; people will forget your documentation too, and just assume that your program does whatever they think that it should and does not have special cases. When they do not entirely remember what your program does, they will skim your documentation to refresh their memories (or find just what they need) and miss all of your little notes about things.

(And none of this should be surprising if you have much exposure to cognitive psychology and similar issues, and frankly everyone who builds computer systems should have that exposure; how humans actually behave is a big part of practical HCI, which system-builders hopefully care about for the obvious reasons.)

This especially applies to Unix tools, because there are just too many Unix tools for people to remember the special cases of any particular one. In fact, this generalizes: the less any particular thing is used, the less its particular quirks and oddities will be remembered by people.

tech/PeopleForgetExceptions written at 00:04:16; Add Comment


Page tools: See As Normal.
Search:
Login: Password:
Atom Syndication: Recent Pages, Recent Comments.

This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.