The Eric Normand Podcast

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.
Ask episode
AI Snips
Chapters
Books
Transcript
Episode notes
INSIGHT

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

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

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.
Get the Snipd Podcast app to discover more snips from this episode
Get the app