"If kitchen appliances were like programs" If kitchen appliances were like programs, they would all look alike sitting on the counter. They would all be gray, featureless boxes, into which one places the food to be processed. The door to the box, like the box itself, is completely opaque. On the outside of each box is a general description of what the box does. For instance, one box might say: "Makes anything a meal"; another: "Cooks perfectly every time"; another: "Never more than 100 calories a serving". You can never be exactly sure what happens to food when it is placed in these boxes. They don't work with the door open, and the 200-page user's manual doesn't give any details. Working in a kitchen would be a matter of becoming familiar with the idiosyncrasies of a small number of these boxes and then trying to get done what you really want done using them. For instance, if you want a fried-egg sandwich, you might try the "Makes anything a meal" box, since a sandwich is a sort of meal. But because you know from past experience that this box leaves everything coated with grease, you use the "Never more than 100 calories" box to postprocess the output. And so on. the result is never what you really want, but it is all you can do. You aren't allowed to look inside the boxes to help you do what you really want to do. Each box is sealed in epoxy. No one can break the seal. If the box seems to not be working right, there is nothing you can do. Even calling the manufacturer is no help, because the box is not under warranty to be for for any particular purpose. The manufacturers do have help lines, but not for help with broken boxes--rather to help you figure out how to use functioning boxes. But don't try to ask how your box works. The help-line people don't know, or if they do, they won't tell you. Several times a year you get a letter from the manufacturer telling you to ship them your old box and they will send you a new one. If you do so, you find yourself with a shinier box, which does whatever it did before a little faster, or perhaps it does a little more--but since you were never sure what it did before, you cannot be sure it's better now. {"Source Code" by Mark Weiser, IEEE Computer November 1987}