Abstraction

Layman (level 1)

The process of ignoring some less important details in order to focus on the essentials. In the context of computer programming, abstraction allows you to think about code in a more human-friendly, easy to understand way.

For example, a library that hides away the technical details of printing pixels on the screen and allows the programmer to think in terms of figures -- circles, lines, etc -- is an abstraction.

Beginner (level 2)

The process of creating the right model for thinking about a problem and devising the appropriate mechanizable techniques to solve it.

Expert (level 3)

In the context of programming and data: the basic idea of data abstraction is to structure the programs that are to use compound data objects so that they operate on “abstract data.” That is, programs should use data in such a way as to make no assumptions about the data that are not strictly necessary for performing the task at hand. (source: SICP distilled).


Watch

Read