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-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.

About the author

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.

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-made pieces of software, instead of programming and improving their skills.

• 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.

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

ISBN: 978-0-9869389-0-0

Publisher: Andsor Books, Toronto, Canada

   www.andsorbooks.com (the present site)

View/download book extracts

The extracts are PDF files, and can be viewed with any PDF reader. To save them on your computer, click Save in the reader.

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 programming, object-oriented programming, the relational database model, etc.) to worthless software-related activities that we all have to perform.

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-related matters and inducing dependence on their systems. Increasingly, in one occupation after another, all we need to know is how to operate some software systems that are based on mechanistic principles. But our minds are capable of non-mechanistic knowledge. So, when the elites force us to depend on their software, they exploit us in two ways: by preventing us from creating better, non-mechanistic software; and by preventing us from using the superior, non-mechanistic capabilities of our minds.

The ultimate consequence of our mechanistic culture, then, is the degradation of minds. If we restrict ourselves to mechanistic performance, our non-mechanistic capabilities remain undeveloped. The world is becoming more and more complex, yet we see only its simple, mechanistic aspects. So we cope perhaps with the mechanistic problems, but the complex, non-mechanistic ones remain unsolved, and may eventually destroy us.

Top Top Top Top Top Front matter and the section "The Fallacy of Software Engineering"

(32 pages, 227 KB)


• The table of contents (included in all extracts) and the index should give you a fairly good idea of the topics discussed in the book. The index has detailed descriptions, and functions also as an alphabetical summary of the book's contents.

• The chapter “Belief and Software” 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.

• The section “Popper’s Principles of Demarcation” is from Chapter 3. These are the principles of demarcation between science and pseudoscience developed by philosopher Karl Popper. The principles are used in the book to expose the pseudoscientific nature of some famous theories, including the most popular software theories.

• The section “The Fallacy of Software Engineering” is from chapter 7. This is a brief history of the idea of software engineering and a brief analysis of its mechanistic fallacies. The detailed study of these fallacies occupies the rest of that chapter.

• If viewing the extracts in two-page spread mode (facing pages), configure the reader to allow a cover page, so that the first page and odd-numbered pages are displayed on the right, and even-numbered pages on the left (as in the printed book).

• The extracts are copyrighted material and have the same restrictions and permissions as the book itself (see p. iv in the front matter).

Front matter and index

(68 pages, 603 KB)

Front matter and the section "Popper's Principles of Demarcation"

(42 pages, 295 KB)

Reviews About the book About the myth About the author Consequences of the myth View/download book extracts Related articles Site notes

Related articles

Top The software elites A summary of Popper's principles of demarcation Book contents

Book Contents



Introduction: Belief and Software

Modern Myths

The Mechanistic Myth

The Software Myth

Anthropology and Software

Software Magic

Software Power

1 Mechanism and Mechanistic Delusions

The Mechanistic Philosophy

Reductionism and Atomism

Simple Structures

Complex Structures

Abstraction and Reification


2 The Mind

Mind Mechanism

Models of Mind

Tacit Knowledge


Replacing Minds with Software

3 Pseudoscience

The Problem of Pseudoscience

Popper’s Principles of Demarcation

The New Pseudosciences

The Mechanistic Roots



Universal Grammar


Academic Corruption

The Traditional Theories

The Software Theories

4 Language and Software

The Common Fallacies

The Search for the Perfect Language

Wittgenstein and Software

Software Structures

5 Language as Weapon

Mechanistic Communication

The Practice of Deceit

The Slogan “Technology”

Orwell’s Newspeak

6 Software as Weapon

A New Form of Domination

The Risks of Software Dependence

The Prevention of Expertise

The Lure of Software Expedients

Software Charlatanism

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

Structured Programming

The Theory

The Promise

The Contradictions

The First Delusion

The Second Delusion

The Third Delusion

The Fourth Delusion

The GO TO Delusion

The Legacy

Object-Oriented Programming

The Quest for Higher Levels

The Promise

The Theory

The Contradictions

The First Delusion

The Second Delusion

The Third Delusion

The Fourth Delusion

The Fifth Delusion

The Final Degradation

The Relational Database Model

The Promise

The Basic File Operations

The Lost Integration

The Theory

The Contradictions

The First Delusion

The Second Delusion

The Third Delusion

The Verdict

8 From Mechanism to Totalitarianism

The End of Responsibility

Software Irresponsibility

Determinism versus Responsibility

Totalitarian Democracy

The Totalitarian Elites

Talmon’s Model of Totalitarianism

Orwell’s Model of Totalitarianism

Software Totalitarianism


A brief autobiography Front matter and the introductory chapter, "Belief and Software"

(84 pages, 596 KB)

Where to buy the book

Software and Mind is available at online stores, where its price is discounted.

Top Where to buy the book Amazon Amazon.ca

Named to

Kirkus Reviews’

Best Books of 2013

Browse and search in the book

Browse and search in the book

The button Search Books lets you preview pages from the book and search the entire book by entering words or phrases. It uses the Google Books system.

Note that when viewing the book in two-page spread mode (facing pages), the pages are displayed incorrectly (reversed). Odd-numbered pages should be on the right, and even-numbered pages on the left (as in the printed book).

Download software

Download software (for programmers)

IFOP.ZIP contains the source files and documentation for IFOP.

IFOP is a customized MRP II application (Manufacturing Resource Planning) written by the author of Software and Mind. It is a fully integrated and self-contained system, with hundreds of interrelated functions for production, sales, shipping, EDI, quotations, lot management, quality assurance, product costing, machines and tooling, preventive maintenance, inventory and warehousing, raw materials, purchasing, and accounting. It is written in OpenVMS COBOL.

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.

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. 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.

PAD_FILE.XML  IFOP information in a PAD file (Portable Application Description), a standard form used to describe software systems.

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-end data file maintenance. Details in INFO.TXT.

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.

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 PDF files are extracts from Software and Mind. They are included in this package because of their relevance to the programming methods employed in IFOP.

Software_and_Mind_extract_files.pdf  A study of the traditional operations involving indexed data files, their integration with programming languages, and their benefits in database management.

Software_and_Mind_extract_goto.pdf  A study of the fallacies surrounding the GO TO statement and its prohibition.

Four other extracts from the book are available; see the section View/download extracts from the book on this page. To buy the book, see the section Where to buy the book.

Download IFOP.ZIP

(1.2 MB)

Top Free documented COBOL source, complete MRP II application

From ForeWord Reviews


From Kirkus Reviews


From Midwest Book Review


From Reader Views


“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.”

“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.”

Read full review Read full review Read full review Read full review Top


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-based myths that dominated thought before the Renaissance. Veteran programmer and computer scientist Andrei Sorin argues that mechanism has outlived its usefulness. Worse, it has become the new mythology, one as vigorously defended by today’s academic and technological elite as the papacy and the Inquisition protected the belief system of the Middle Ages.

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, 944-page tome, Software and Mind, is at first look overwhelming and intimidating, the arguments and observations put forth in the massive work are surprisingly, and thankfully, understandable and approachable. There is a great deal of repetition, which the author freely admits is intentional, but that repetition is necessary if a reader without his background is to comprehend his thesis.

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-world problems to neat hierarchical structures of data, operations and features.”

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-contained journeys of exploration into such topics as “Language and Software,” “Pseudoscience,” and “From Mechanism to Totalitarianism.” One, however, is a book unto itself.

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-loving software scientists everywhere: structured programming, object-oriented programming, and the relational database model. He derides these theories, once hailed as revolutionary, as not only “pseudoscience” but also as the equivalent of “totalitarianism.”

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-level ideas into simple, indivisible base units or concepts. Although Sorin’s primary expertise and focus for the book is in programming and computer science, he convincingly argues that the success of hierarchical structures has spread from the hard sciences of physics and engineering – where, in Sorin’s estimation, these models work and should be utilized – to virtually all fields of study, including fields such as sociology and psychology in which the processes and concepts involved appear to be too complex for the relative simplicity of hierarchical modeling. Since these fields study human interactions, which function on multiple levels and can vary depending on numerous factors, Sorin argues that the important concepts and theories in these so-called “soft” sciences cannot be adequately modeled or understood using hierarchical thinking. From this basic concept, Sorin broadly examines what he sees as troubling trends in academia, software development, government and many other endeavors. Early on, Sorin betrays the color of his conclusions through frequent use of emotionally charged words (e.g., absurd, charlatans, totalitarianism) and disdain for the majority of those working in the mechanistic mode, focusing especially on academic bureaucrats and those who, in Sorin’s opinion, work with pseudoscientific theories, such as linguist Noam Chomsky’s theories regarding universal grammar. To be fair, Sorin offers a disclaimer in his critique of the “mechanical myth”: “Myths,” he says, “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.” His clear disapproval of these groups and theories doesn’t detract from the thorough explanations, well-reasoned arguments and crystalline logic he employs at every step. His explanations of mechanistic vs. nonmechanistic models and of the importance of tacit knowledge (meaning knowledge that is gained by experience, which isn’t always expressible in simple ways) are particularly cogent, and his textbook-length elucidations will enrich understanding for university-level students in various fields of study.

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-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 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.


Site notes


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 © 2015 Andrei Sorin. Content may be copied and used freely, except for those parts where different conditions are specified.

USA & international


Labyrinth Books