Addressing general readers as well as software practitioners, Software and Mind discusses the fallacies of the mechanistic ideology and the degradation of minds caused by these fallacies. Mechanism holds that every aspect of the world can be represented as a simple hierarchical structure of entities. But, while useful in fields like mathematics and manufacturing, this idea is generally worthless, because most aspects of the world are too complex to be reduced to simple structures. Our software-related affairs, in particular, cannot be represented in this fashion. And yet, all programming theories and development systems, and all software applications, attempt to reduce real-world problems to neat hierarchical structures of data, operations, and features.
Using Karl Popper's famous principles of demarcation between science and pseudoscience, the book shows that the mechanistic ideology has turned most of our software-related activities into pseudoscientific pursuits. Using mechanism as warrant, the software elites are promoting invalid, even fraudulent, software notions. They force us to depend on generic, inferior systems, instead of allowing us to develop software skills and to create our own systems. Software mechanism emulates the methods of manufacturing, and thereby restricts us to high levels of abstraction and simple, isolated structures. The benefits of software, however, can be attained only if we start with low-level elements and learn to create complex, interacting structures.
Software, the book argues, is a non-mechanistic phenomenon. So it is akin to language, not to manufactured objects. Like language, it permits us to mirror the world in our minds and to communicate with it. Moreover, we increasingly depend on software in everything we do, in the same way that we depend on language. Thus, being restricted to mechanistic software is like thinking and communicating while being restricted to some ready-made sentences supplied by an elite. Ultimately, by impoverishing software, our elites are achieving what the totalitarian elite described by George Orwell in Nineteen Eighty-Four achieves by impoverishing language: they are degrading our minds.
Andrei Sorin has been programming for more than forty years. He has worked on diverse types of hardware, from 4-bit microprocessors to mainframes; and he has developed many types of software, from programming tools to business systems. His research interests include application development and maintenance concepts, data management principles, and the philosophy of software. He has developed text and file management systems, editors, and interpreters. In the business field, he has developed applications in manufacturing and utilities. Dr. Sorin received a B.Sc. in Electrical Engineering (1970) and an M.Sc. in Computer Science (1971) from the Technion, Israel Institute of Technology, and a Ph.D. in Computer Science (1975) from the Imperial College, University of London, U.K. Since 1976 he has lived in Toronto, Canada, where he is working as an independent consultant in software development, support, and research.
This is a huge book but I think an important one. If you work with software, you should probably read this. If you don't work with software, at least read the last chapter and then read whatever other sections will help you understand it fully.
After reading this in 2025, I am extremely interested in the author's views on the past five years. In 2020 the breadth and depth of software as social control and totalitarian ideals was like nothing we have ever experienced.
Every topic and it's mechanistic delusions are addressed in great detail. The arguments are convincing and all of them together combine to illustrate how wide spread mechanism is leading humanity further into totalitarianism.
In my lifetime, I have seen this taking place. One can feel something "isn't right" and this book helped clarify some of those suspicions. There were many times I laughed simply due to the book so plainly explaining phenomena I had experienced but had not taken the time to detail myself. Software charlatans, the elite, propaganda, and skill atrophy while chasing the latest and greatest "technologies".
The author does an incredible job detailing the issue at hand and how it happens. My only gripe is that there is no discussion about solutions. I assume it is a given that to avoid totalitarianism, one has to be able to first identify it, and that is where this book has its place.
As for fighting this growing totalitarianism, I will refer to Orwell -
The author has a habit of providing very long lists of examples where only one or two would suffice. The same point is discussed over and over again multiple times. I held on and continued to read until I reached the halfway point and decided enough is enough. In my opinion, this massive book could be reduced to a few terse chapters.