|There's more than one way to do things|
Author: Gerald Weinberg
Order An Introduction to General Systems Thinking, Silver Anniversary edition
If I had to describe the message that this book gets across in three words, I would say Context is important. This should be familiar to any Perl programmer.
The book is based on a course that the author ran, and he admits that many people dont get a lot out of it. I must admit, a lot of the ideas in the book left me thinking well, I knew that anyway. I thought the same from time to time about The Pragmatic Programmer, but as with that book, its good to have it all in one place, and to be forced to think about the issues again, and in new ways.
Systems Thinking is a meta-discipline (my description) that studies all kinds of systems. Financial, architectural, social, software development, scientific, artistic, ST has something to say about them all. It attempts to identify rules that apply in many disciplines, and even rules about rules. For example, The principle of indifference: Laws should not depend on a particular choice of notation.
The authors style is witty and clear, a joy to read. One of the most memorable examples points out a problem with analysing English grammar:
Time flies like an arrow.
It is difficult to explain the attraction of this book. All I can say is, I enjoyed it immensely, and I feel that it will bring benefits to my thinking, even if I am not aware of them. I highly recommend this book.
This review is based on the original 1975 edition, which I acquired just before I found out that the book was to be re-released in a Silver Anniversary edition.