Software and Mind: The Mechanistic Myth and its Consequences
Andrei Sorin, PhD
Andsor Books (2013)
Reviewed by William Hartgrove for Reader Views (4/13)
Dr. Andrei Sorin’s book “Software and Mind: The Mechanistic Myth and its Consequences,” on the current state of software development, should be required reading for anyone entering the programming field. Any programmer that is currently and dogmatically following any methodology should be handed a copy of this book.
In my almost 30 years of programming experience, I’ve lived through several of the changes he discusses. I know I’ve drunk from the kool-aid that was offered at the time and had to learn the lessons in this book the hard way - eventually accepting that deviations from the prescribed methodologies were the only viable option. I’ve had to fight people that are so absorbed into the various systems that they could not perceive where these systems were failing or how they were hurting projects. This book can help an old programmer win arguments over these ideas and may save some new programmers from falling into the traps.
I’m not saying I agree with everything that was written in the book. But, Andrei Sorin has obviously given this issue a lot of thought. He carefully develops the readers understanding of mechanism and the philosophies it was built upon. He shows where this philosophy can succeed and where it fails when it tries to describe more complex models, especially mechanism’s attempts to model human thought, intuition and capacity for learning. Using this argument as a foundation, he shows how mechanism is applied to the software industry and used to create software that fail and the industry elite that propagate these ideas.
In “Software and Mind” Dr. Sorin breaks down the various methodologies for programming that have come in and out of vogue and explains why they fall short of the promises made by the software industry, carefully breaking them down into various fallacies and shortcomings showing were they were modified to accommodate these shortfalls by adopting parts of programming that the methodology attempted to eliminate. For example, structured programming and the “GOTO superstition” and Object Oriented Programming and it’s shunning of process flow.
If you are in school learning to program, read the book. If you program for a living, read the book. If you manage programmers, read the book. If you are thinking of investing in a software system, read the book before you buy. Above all else, if you find yourself clinging to the dogma of some methodology, take the time to read “Software and Mind: The Mechanistic Myth and its Consequences” by Andrei Sorin, PhD. It may open your mind to some possibilities.