1. The Bit (and Three Other Abstractions) Define the Borderline Between Hardware and Software
- Author
-
Russ Abbott
- Subjects
business.industry ,Computer science ,05 social sciences ,Realization (linguistics) ,06 humanities and the arts ,0603 philosophy, ethics and religion ,Abstract data type ,050105 experimental psychology ,Philosophy ,Software ,Symbol grounding ,Artificial Intelligence ,Symbol (programming) ,060302 philosophy ,Theory of computation ,0501 psychology and cognitive sciences ,State (computer science) ,business ,Turing ,computer ,Computer hardware ,computer.programming_language - Abstract
Modern computing is generally taken to consist primarily of symbol manipulation. But symbols are abstract, and computers are physical. How can a physical device manipulate abstract symbols? Neither Church nor Turing considered this question. My answer is that the bit, as a hardware-implemented abstract data type, serves as a bridge between materiality and abstraction. Computing also relies on three other primitive—but more straightforward—abstractions: Sequentiality, State, and Transition. These physically-implemented abstractions define the borderline between hardware and software and between physicality and abstraction. At a deeper level, asking how a physical device can interact with abstract symbols is the wrong question. The relationship between symbols and physical devices begins with the realization that human beings already know what it means to manipulate symbols. We build and program computers to do what we understand to be symbol manipulation. To understand what that means, consider a light switch. A light switch doesn’t turn a light on or off. Those are abstractions. Light switches don’t operate with abstractions. We build light switches (and their associated circuitry), so that when flipped, the world is changed in such a way that we understand the light to be on or off. Similarly, we build computers to perform operations that we understand as manipulating symbols.
- Published
- 2019