

What is abstraction?
8 snips Nov 7, 2019
Delve into the fascinating world of abstraction in programming. Discover its core essence and why it's essential in crafting effective software. Unravel common misconceptions and learn how to view compositions and object interfaces as cohesive elements. This discussion illuminates the importance of abstraction in enhancing clarity and efficiency in code.
AI Snips
Chapters
Books
Transcript
Episode notes
Abstraction in SICP
- SICP defines abstraction as naming and manipulating compositions, enabling their use as units.
- This involves ignoring the composition's internal details and treating it as a single entity.
Locke's Abstraction
- John Locke's definition of abstraction involves understanding an idea by isolating it from its context.
- This aligns with SICP's definition, where abstraction removes a composition from its concrete origins.
Liskov's Abstraction
- Zach Tellman prefers Barbara Liskov's definition of abstraction: treating different things as the same.
- This emphasizes ignoring differences and focusing on shared characteristics, like interchangeable parts with the same interface.