About the book
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-
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-
Software, the book argues, is a non-
Some of the consequences of the mechanistic software myth
• The software elites have turned software into a weapon, a means to dominate and control society.
• We depend more and more on the type of software that demands only trivial skills, so we are prevented from using our minds and expanding our knowledge.
• The software elites are inducing dependence on inferior, standard systems, and are preventing independent, responsible programming.
• New software products are installed every year in millions of places without being used, presumably because they are not the “solutions” they were said to be.
• Software products and innovations are advertised by describing a few successes, which is logically equivalent to lying.
• Universities are teaching and promoting invalid, pseudoscientific software notions.
• Less than 1 percent of the programming activities in society represent useful work – work benefiting society in the way the work of doctors does.
• Individuals with practically no programming experience act as industry experts – they write books on programming, teach courses, and provide consulting services.
• Many software companies exploit the ignorance of programmers and users by suggesting that their products possess supernatural powers.
• Programmers rely on worthless theories, development environments, and ready-
• Major government projects are abandoned after spending vast amounts of public money, while the incompetents responsible for these failures continue to be seen as software experts.
• Corporations cannot keep their software applications up to date and must acquire or develop new ones over and over.
• Society must support a growing software bureaucracy – more and more workers are changing from individuals who perform useful tasks to individuals who merely practise the mechanistic software myth.
• The concept of expertise is being degraded to mean, not the utmost that human minds can attain, but simply acquaintance with the latest software systems.
• Our software culture is so corrupt that it has become, in effect, a form of totalitarianism.
View/download book and extracts
You can view and download the entire book, or just individual chapters or selected sections.
• The book and extracts are PDF files, and can be viewed with any PDF reader. To save them on your computer, click Save in the reader.
• The files have up to 4 levels of PDF bookmarks: chapters, sections, subsections, numeric sections.
• All extracts include the book’s front matter, and hence the full table of contents.
• If viewing these files in two-
• The digital book and extracts are licensed under the Creative Commons Attribution-
About the myth
The mechanistic myth is the belief that everything can be described as a neat hierarchical structure of things within things. And few of us realize that our entire culture is now based on this fallacy. While the world consists of complex, interacting structures, we prefer to treat every phenomenon as a simple, isolated structure.
Through our software pursuits, the mechanistic myth has spread beyond its academic
origins and is affecting every aspect of human existence. In just one generation,
it has expanded from worthless theories of mind and society (behaviourism, structuralism,
universal grammar, etc.) to worthless concepts in the field of programming (structured
What is worse, our mechanistic beliefs have permitted powerful software elites to
arise. While appearing to help us enjoy the benefits of software, the elites are
in fact preventing us from creating and using software effectively. By invoking mechanistic
software principles, they are fostering ignorance in software-
The ultimate consequence of our mechanistic culture, then, is the degradation of
minds. If we restrict ourselves to mechanistic performance, our non-
Introduction: Belief and Software
The Mechanistic Myth
The Software Myth
Anthropology and Software
1 Mechanism and Mechanistic Delusions
The Mechanistic Philosophy
Reductionism and Atomism
Abstraction and Reification
2 The Mind
Models of Mind
Replacing Minds with Software
The Problem of Pseudoscience
Popper’s Principles of Demarcation
The New Pseudosciences
The Mechanistic Roots
The Traditional Theories
The Software Theories
4 Language and Software
The Common Fallacies
The Search for the Perfect Language
Wittgenstein and Software
5 Language as Weapon
The Practice of Deceit
The Slogan “Technology”
6 Software as Weapon
A New Form of Domination
The Risks of Software Dependence
The Prevention of Expertise
The Lure of Software Expedients
The Delusion of High Levels
The Delusion of Methodologies
The Spread of Software Mechanism
7 Software Engineering
The Fallacy of Software Engineering
Software Engineering as Pseudoscience
The First Delusion
The Second Delusion
The Third Delusion
The Fourth Delusion
The GO TO Delusion
The Quest for Higher Levels
The First Delusion
The Second Delusion
The Third Delusion
The Fourth Delusion
The Fifth Delusion
The Final Degradation
The Relational Database Model
The Basic File Operations
The Lost Integration
The First Delusion
The Second Delusion
The Third Delusion
8 From Mechanism to Totalitarianism
The End of Responsibility
Determinism versus Responsibility
The Totalitarian Elites
Talmon’s Model of Totalitarianism
Orwell’s Model of Totalitarianism
Browse and search in the book
The button Search Books lets you view pages from the book and search the entire book by entering words or phrases. It uses the Google Books system.
Download software: IFOP (for business, for programmers)
IFOP.ZIP contains the IFOP application, source files, and documentation. It is meant mainly for programmers. IFOP was written by the author of Software and Mind, and is included here in order to demonstrate the value of the traditional programming concepts discussed in the book.
IFOP is a customized MRP II application (Manufacturing Resource Planning). It is
a fully integrated and self-
IFOP has been used and improved for many years. It is customized for a manufacturer of industrial fasteners from Ontario, Canada, whose products are used mostly in the North American automotive industry. Although designed for a specific industry and a specific company, IFOP can be useful in many other situations. Some parts are generic in nature and can be incorporated with only a few changes in other applications. And, with a reasonable amount of work, many functions can be adapted for other business needs or other platforms. At the very least, IFOP demonstrates some important programming concepts for developing and maintaining sophisticated, customized business applications.
(There is another open-
Belief and Software (84 pages, 597 KB)
This chapter is an introduction to the mechanistic myth and the mechanistic software myth, and an analysis of the similarity of mechanistic software beliefs to primitive beliefs.
Pseudoscience (114 pages, 815 KB)
This chapter discusses the concept of pseudoscience, the principles of demarcation between science and pseudoscience developed by Karl Popper, and the value of these principles in studying the pseudoscientific nature of our mechanistic culture.
Language and Software (88 pages, 711 KB)
This chapter shows that language and software are non-
Mechanism and Mechanistic Delusions (92 pages, 702 KB)
This chapter explains the mechanistic philosophy and its limitations, the mechanistic
fallacies, and the difference between mechanistic and non-
The Mind (78 pages, 549 KB)
This chapter shows why the mechanistic models promoted by the software elites cannot attain the intelligence, creativity, skills, and intuition of human beings.
Language as Weapon (58 pages, 423 KB)
This chapter explains how language is used to deceive and to manipulate people by restricting them to mechanistic thinking.
From Mechanism to Totalitarianism (76 pages, 545 KB)
This chapter examines the totalitarian tendencies of the mechanistic philosophy, and particularly their manifestation in our mechanistic software culture.
(68 pages, 604 KB)
The index has three levels and detailed descriptions, and functions also as an alphabetical summary of the book’s contents.
Software as Weapon (102 pages, 707 KB)
This chapter explains how the mechanistic fallacies lead to software delusions, and how the software elites use these delusions to exploit society.
Software Engineering (344 pages, 2,734 KB)
This chapter analyzes the mechanistic fallacies inherent in the idea of software engineering, and exposes the pseudoscientific nature of the mechanistic programming theories.
Sections The Problem of Pseudoscience,
Popper’s Principles of Demarcation (46 pages, 336 KB)
These sections discuss the concept of pseudoscience and the principles of demarcation between science and pseudoscience developed by Karl Popper, used in the book to show how mechanistic fallacies lead to pseudoscientific thinking.
Section The New Pseudosciences (58 pages, 420 KB)
This section analyzes the mechanistic fallacies common to behaviourism, structuralism, and universal grammar, and shows that these famous theories are pseudoscientific.
Sections The Common Fallacies,
The Search for the Perfect Language (46 pages, 331 KB)
These sections examine the mechanistic philosophy of language and analyze the mechanistic fallacies common to language theories and software theories.
Sections Wittgenstein and Software,
Software Structures (58 pages, 489 KB)
These sections examine Ludwig Wittgenstein’s non-
Sections Introduction, The Fallacy of Software Engineering,
Software Engineering as Pseudoscience (42 pages, 299 KB)
These sections include a brief, non-
Section Structured Programming (130 pages, 1,106 KB)
This section analyzes the theory of structured programming and its mechanistic fallacies, and shows that it is a pseudoscience.
This section analyzes the theory of object-
Section The Relational Database Model (160 pages, 1,196 KB)
This section analyzes the relational database model and its mechanistic fallacies, and shows that it is a pseudoscience.
Section The End of Responsibility (44 pages, 300 KB)
This section shows how our mechanistic culture fosters a deterministic view of human affairs, which undermines the notion of individual responsibility and promotes totalitarianism.
Section Totalitarian Democracy (50 pages, 359 KB)
This section examines the totalitarian aspects of democratic societies, the mechanistic roots of this phenomenon, and the spread of software totalitarianism.
From ForeWord Reviews
The scientific method of mechanism, by which the study of all things is broken down
to their smallest building blocks and reassembled in hierarchical order, is the intellectual
crowbar that tore down the religion-
As the jacket attests, Sorin has the credentials that demand respect when he talks
about his field of expertise and the world in which he works. While his weighty,
That thesis is a damning one. It accuses academic and “software elites” (many of
whom he names) of imposing an Orwellian totalitarianism on not only the scientific
computer software community, but also upon those who use its products. Sorin, like
the great thinkers of the Renaissance and the Age of Enlightenment, seeks to break
free of these artificial restraints, which he believes “attempt to reduce real-
Software and Mind is not a light or easy read, although Sorin works diligently to present his theories in a logical progression and in a language and style that does not require a reader to have an advanced degree to follow, understand, or digest. Engineers are often derided for their inability to communicate ideas in ways the layman can grasp. If that is a rule, Sorin is the exception.
Each of eight chapters is broken into sections, subsections, and what he calls “numbered
parts.” Seven are self-
At more than 320 pages, Chapter Seven represents not only a physical third of the
book, but also its theoretical core. Each of its three main sections are further
subdivided into nine or ten subsections, and it is here that Sorin takes on what
he sees as the true nemesis of freedom-
Sorin’s indictment of his profession is sure to stir up controversy and may come as a big surprise to many of his colleagues, let alone to the general public, which has come to revere software creators as something akin to the gods of old. Then again, false gods have fallen before, and Sorin, if he is indeed correct, may just be the scientist who cracks the mythological foundation upon which he claims the modern deities of the computer age stand.
From Kirkus Reviews
Named to Kirkus Reviews’ Best Books of 2013
In this massive philosophical treatise that crosses disciplines with verve and meticulous logic, politics, cognitive science, software engineering and more become threads in a complex examination of mental modeling.
Sorin argues against what he labels the “mechanistic myth”: the belief that virtually
all fields, from psychology to biology, can be addressed by pursuing methodologies
and theorizing based on hierarchical modeling – a method of breaking down processes
and concepts from high-
Despite moments of personal distaste, Sorin’s concise arguments stand as a model of reason.
From Midwest Book Review
Once fodder for science fiction movies and pulp magazine stories, the computer has become a fundamental force in modern society. In “Software and Mind: The Mechanistic Myth and Its Consequences” Andrei Sorin draws upon his more than three decades of experience and expertise with respect to computers, computer systems, and their impact upon almost every aspect of our culture. Of special note is Sorin’s authoritative debunking of common place misconceptions and fallacies with respect to fostered attitudes regarding computers – including those governmental and corporate vested interests in misrepresenting software products and their usefulness. This 944 page compendium begins with modern myths regarding software, covers what Sorin refers to as the ‘pseudoscience’ of computer software, with chapters covering language and software, language as weapon, software as weapon, and software engineering. Of special note are the sections in the concluding chapter on ‘Totalitarian Democracy’. Enhanced with a comprehensive index, “Software and Mind: The Mechanistic Myth and Its Consequences” is a work of impressively presented scholarship, and a highly recommended, seminal addition to personal, professional, and academic library Computer Science and 21st Century Philosophy reference collections and supplemental reading lists.
From Reader Views
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-
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 fails and the industry elite that propagates 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 its 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.
Section Anthropology and Software (44 pages, 304 KB)
This section explores the similarity of mechanistic software beliefs to primitive beliefs.
Subsections The Basic File Operations,
The Lost Integration (38 pages, 287 KB)
These subsections (part of The Relational Database Model) examine the traditional operations involving indexed data files, their integration with programming languages, and their benefits relative to relational databases.
Subsection The GO TO Delusion (44 pages, 347 KB)
This subsection (part of Structured Programming) examines the fallacies surrounding the GO TO statement and its prohibition.
Section The Mechanistic Myth (36 pages, 241 KB)
This section examines the history, fallacies, and consequences of the mechanistic doctrine.
Title: Software and Mind
The Mechanistic Myth and Its Consequences
Author: Andrei Sorin
Format: hardcover, 944 pages
163x241x61 mm (6.4x9.5x2.4 inch)
Publication date: January 2013
Publisher: Andsor Books, Toronto, Canada
www.andsorbooks.com (the present site)
“Sorin's indictment of his profession is sure to stir up controversy and may come as a big surprise to many of his colleagues, let alone to the general public, which has come to revere software creators as something akin to the gods of old.”
Best Books of 2013
“In this massive philosophical treatise that crosses disciplines with verve and meticulous logic, politics, cognitive science, software engineering and more become threads in a complex examination of mental modeling.”
“A work of impressively presented scholarship, and a highly recommended, seminal addition to personal, professional, and academic library Computer Science and 21st Century Philosophy reference collections and supplemental reading lists.”
“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.”
Midwest Book Review
Where to buy the book
Software and Mind is available at online stores, where its price is discounted.
About the author
Andrei Sorin has been programming for more than forty years. He has worked on diverse
types of hardware, from 4-
Download software: Digicube (for fun, for programmers and users)
Digicube.zip contains the Digicube application, source file, and documentation. It is a fun program, meant for everyone, programmers and users. Digicube was written by the author of Software and Mind, and is included here in order to demonstrate the value of the traditional programming concepts discussed in the book.
Digicube is a virtual Rubik's cube: it maintains in its memory the cube's position and lets you modify it with instructions, which you enter interactively or store as scripts in a file. It uses a simple system of notation that needs only the digits 1 to 6 to represent faces, colors, and rotations.
In addition to the classic 3x Rubik's cube, Digicube can simulate two simpler versions: the 2x cube (known as Pocket cube) and the 3x pyramid (known as Pyraminx).
Digicube is an ideal tool for learning and for experimenting with positions, move sequences, and solutions. It comes with a comprehensive reference manual, which explains its functions and shows with many examples how to use them.
Here are some of the operations you can perform: specify complete or partial positions; ask Digicube to solve a position, fully or partially, and show you the required moves; specify sequences of moves and turns, or generate random sequences; modify, swap, or flip individual pieces; check the validity of a position; display the current position in various ways; store positions in memory and retrieve them later; compare positions; examine positions as they change over thousands of moves; determine the moves needed to reach any position, including partially specified positions.
(There is another open-
The book and this site attack the mechanistic myth, not persons. Myths, however, manifest themselves through the acts of persons, so it is impossible to discuss the mechanistic myth without also referring to the persons affected by it. Thus, all references to individuals, groups of individuals, corporations, institutions, or other organizations are intended solely as examples of mechanistic beliefs, ideas, claims, or practices. To repeat, they do not constitute an attack on those individuals or organizations, but on the mechanistic myth.
Some discussions in the book and on this site may be interpreted as professional advice on programming and software use. While the ideas advanced in these discussions derive from many years of practice and from extensive research, and represent in the author's view the best way to program and use computers, readers must remember that they assume all responsibility if deciding to follow these ideas. In particular, to apply these ideas they may need the kind of knowledge that, in our mechanistic culture, few programmers and software users possess. Therefore, the author and the publisher disclaim any liability for risks or losses, personal, financial, or other, incurred directly or indirectly in connection with, or as a consequence of, applying the ideas discussed in the book or on this site.
Site content © 2018 Andrei Sorin. Content may be copied and used freely, except for those parts where different conditions are specified.
The following files are included in the IFOP.ZIP package. To properly view the *.TXT and *.COB files, use a monospaced font (such as Courier) and no word wrap. The *.COB files must be compiled with the OpenVMS COBOL compiler, and the *.EXE files must run under OpenVMS. See INFO.TXT for additional details on the content of some of these files.
readme.txt Similar to the contents of this section.
license.txt The full text of the GNU General Public License (copied from www.gnu.org/licenses/), under whose terms this free software is distributed.
ifop.cob IFOP (Irvine Fasteners Operations) COBOL source. This is a large program (more than 50,000 lines, many lines longer than 100 characters). You need a good, fast text editor to handle it (versatile and convenient search features, bookmarks, etc.).
ifmaint.cob IFMAINT COBOL source: companion program of IFOP, for year-
ifcobrep.cob IFCOBREP COBOL source: small utility needed to process the REPLACE statements (text substitution macros) in IFOP.COB before compilation, if the compiler cannot do it (because of the program's large size). Details in INFO.TXT.
ifop.exe, ifmaint.exe, ifcreate.exe, ifcobrep.exe -
notes.txt The text for the numbered documentation notes in IFOP.COB.
info.txt General programming and operating documentation for IFOP.
database.txt Documentation for the IFOP data files and their fields.
menus.txt Documentation for the IFOP menus and section labels. It is also a convenient summary of IFOP's functions.
The following two files are extracts from the book Software and Mind (by Andrei Sorin, the author of IFOP). They are included in this package because of their relevance to the programming methods employed in IFOP. For additional extracts from the book, see the section View/download book and extracts on this page.
Software_and_Mind_extract_Files.pdf A study of the traditional operations involving indexed data files, their integration with programming languages, and their benefits relative to relational databases.
Software_and_Mind_extract_Goto.pdf A study of the fallacies surrounding the GO TO statement and its prohibition in structured programming.
The following files are included in the Digicube.zip package. To properly view the
*.txt and *.c files, use a monospaced font (like Courier) and no word wrap. Digicube
works on PCs running any regular 32-
readme.txt Similar to the contents of this section.
license.txt Full text of the GNU General Public License (copied from www.gnu.org/licenses/), under whose terms this free software is distributed.
manual.pdf The Digicube reference manual (in PDF format).
notes.txt Notes for programmers, to supplement the comments embedded in the program's source.
digicube.exe The Digicube program.
digicube.c The C source code of Digicube.
diginp.txt Example input file with a few scripts.
digopt.txt Empty options file.
The following three files are examples of the Digicube feature back sequences. (They are included because they take many hours to generate.)
seqnot.txt All sequences of 12, 14, 16, and 18 moves, leading to a position identical
to the initial position (do-
seqflip2.txt All sequences of 16 and 18 moves, leading from the solved position to a position with 2 flipped edge pieces, or from such a position to the solved position.
seqflip4.txt All sequences of 16, 18, and 20 moves, leading from the solved position to a position with 4 flipped edge pieces, or from such a position to the solved position.
Software_and_Mind_Introduction.pdf The introductory chapter of the book Software and Mind (by Andrei Sorin, the author of Digicube). If you like Digicube, as user or as programmer, you may also like this book. For additional extracts from the book, see the section View/download book and extracts on this page.