Basically -- no one can build a computer on a workbench without first having the plans for that computer. But no one can draw up a set of plans without first having mentally conceived of what the computer is supposed to do, what hardware exists (processing chips, hard drives, etc.) that can be combined together to do the job, and what software exists (or has to be written) in order to make the various parts do what the designers expect. ==== ==== ==== ==== One definition is this: