Abstraction

Abstractions are a way of hiding complexity, for example, High-level programming languages are abstractions that hide machine code, CPU registers, and syscalls. When programming in a high-level language, we are still using machine code; we are just not using it directly, because the programming language abstraction saves us from having to think about it.

Job of each layer of abstraction is to hide the complexity of layers below it and provide a clean data model/interface to the layers above.


Status: #📥

References: