DEV Community

Fagner Brack
Fagner Brack

Posted on • Originally published at fagnerbrack.com on

Book Summary: Science and Sanity - An Introduction to Non-Aristotelian Systems and General…

Book Summary: Science and Sanity - An Introduction to Non-Aristotelian Systems and General Semantics

by Alfred Korzybski

“Science and Sanity: An Introduction to Non-Aristotelian Systems and General Semantics” is a groundbreaking work that explores the limitations of Aristotelian logic and language and introduces the field of general semantics, which aims to improve human understanding and communication. It’s extremely useful for our day-to-day as software engineers, as it gives us a different perspective on the role of language in how we communicate with our peers.

The most valuable points from the book are:

The Limitations of Aristotelian Logic

Korzybski argues that Aristotelian logic, with its emphasis on the identity principle (A is A) and binary distinctions (true or false, black and white), is insufficient for accurately representing the complexity of the real world and can lead to misunderstandings and conflicts.

For example, the statement “all men are mortal” can be challenged by the discovery of new facts, like advances in medical science that extend human life significantly.

For software engineers, this can manifest in miscommunication about software requirements, implementation details, bug reports or framework and tooling dogmas. By recognizing the limitations of binary thinking, engineers can better navigate the complexities of software development and improve communication with their peers.

The Importance of Non-Aristotelian Systems

The book introduces non-Aristotelian systems, which reject the principle of identity and embrace the idea of continuous change and the interconnectedness of reality, leading to a more accurate and nuanced understanding.

For example, a non-Aristotelian approach to language might consider the dynamic and evolving nature of meanings rather than treating them as fixed and unchanging.

For software engineers, this approach can help in understanding the dynamic nature of software systems, which are constantly evolving and adapting. Embracing this perspective can lead to more flexible and maintainable code, as well as better communication about the ever-changing state of a project.

General Semantics

Korzybski introduces the field of general semantics, which aims to improve human understanding and communication by addressing the limitations of language and promoting more effective ways of thinking and reasoning.

For example, general semantics advocates for the use of precise language that reflects the complexity and uncertainty of the real world rather than relying on simplistic and absolutist statements and dogmas.

For example: "This library has pros/cons which we should weigh" instead of "This library is the best and everybody uses it, so we should use it too".

The Role of Language in Shaping Perception

The book emphasizes the powerful role that language plays in shaping human perception and understanding and the potential for language to both illuminate and obscure reality.

For example, the use of metaphors in language can help convey abstract concepts but can also lead to confusion and misunderstanding if taken literally.

For software engineers, this highlights the importance of using clear, concise, and accurate language when discussing software requirements, design, implementation, and testing to ensure a shared understanding and minimize confusion. The more objective and tied to real life it is, the more likely everyone else will comprehend in the same way without ambiguities.

The Map is Not the Territory

One of the central tenets of general semantics is the idea that “the map is not the territory,” meaning that our mental representations, beliefs, and language are not identical to the actual reality they attempt to describe. Recognizing this distinction can help reduce misunderstandings and promote more accurate thinking.

For example, a person might recognize that their beliefs about a particular issue are not the same as the actual facts and therefore remain open to new information and perspectives.

For software engineers, this concept can be applied to the understanding that documentation, diagrams, and models of software systems are only approximations of the actual system and should be treated as such, remaining open to new information and perspectives.

I have written about The Map is Not The Territory many years ago before reading this book.

The Extensional Device

Korzybski introduces the concept of the “extensional device,” which is a tool used in general semantics to encourage clearer and more accurate communication by emphasizing the specific, observable aspects of reality.

For example, using the extensional device “quotes” around a word (e.g., “dog”) emphasizes that the word itself is not the actual object or concept being discussed but merely a representation or symbol for it.

For software engineers, using extensional devices like specific examples, code snippets, or test cases when discussing software problems can help clarify communication and reduce ambiguity, as long as those cases are tied to an outcome everyone comprehends and understands.

By exploring the limitations of language and traditional logic and introducing the field of general semantics, “Science and Sanity” provides valuable insights into the nature of human understanding and communication, with the potential to improve critical thinking, problem-solving, and interpersonal relationships for software engineers.

Thanks for reading. If you have feedback, contact me on Twitter, LinkedIn or Github.

Top comments (0)