Steam coming out of your subroutines?

Interesting paper by Nancy Leveson on “High-Pressure Steam Engines and Computer Software” which argues that we can learn useful lessons for software engineering from the history of high-pressure steam engines.

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. We can learn from the past before we repeat the same mistakes. In particular, parallels exist between the early development of high-pressure steam engines and software engineering that we can apply to the use of computers in complex systems.