Abstraction is the act of keeping some distinctions and deliberately dropping others, so that many particular things can be handled as one general thing. Locke called it separating ideas “from all other ideas that accompany them in their real existence”; programmers do the same when they write a function, an interface, or a type. Every abstraction is therefore also a decision about what to forget.
Discussed in
- Home page (dictionary definition)
- Locke, Abstraction, and the Programmer’s Toolbox
- Formal Methods in Ancient Greece
- Early Mechanical Reasoning and the Dream of Universal Calculation
- Meaningless Symbols in Twentieth Century Symbolic Reasoning
- Thinking About Software, Programming, and AI with Simondon
- Heidegger and Software