Sunday, November 10, 2019

Great Quote on Complexity

When I get rid of books I sometimes read parts of them again.  Because I don't think I will be doing much distributed programming in C++ in the future, I discarded an excellent book:  Distributed Application Programming in C++ by Randall A. Maddox.  There is a great quote at the back of the book, on page 429:  "A complex system that works is invariably found to have evolved from a simple system that worked.....  A complex system designed from scratch never works and cannot be patched up to make it work.  You have to start over, beginning with a working simple system."  Mr. Maddox attributes the quote to two people.  He says Gary Booch used the quote and that Booch attributed it to Systemantics: How Systems Work and Especially How They Fail by John Gall (1977).

This is true.  Even if a complex system is designed from scratch, it must be implemented incrementally, testing along the way, and changing the design as required to develop a working complex system.  Notice I said "develop" and not "evolve." It is a horrible misuse of language and of the theory of evolution to say that people evolve software.  People can write, code, design, implement, and develop software, but people do not evolve software.

Robert Canright

Systematics
https://www.amazon.com/Systemantics-Systems-Work-Especially-They/dp/0812906748/