The introduction of computers in the control of potentially harmful devices has led to a growing awareness of the possible contribution of software to serious accidents. The number of computer-related accidents so far has been small due to the restraint that has been shown in introducing them into safety-critical control loops. Risk induced by technological innovation existed long before computers. This is not the first time that humans have come up with an extremely useful new technology that is potentially dangerous. There exist parallels in development of high-pressure steam engines and software engineering that we can apply to the use of computers in complex systems.