Abstraction (computer science)
In computer science
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...

, abstraction is the process by which data
Data (computing)
In computer science, data is information in a form suitable for use with a computer. Data is often distinguished from programs. A program is a sequence of instructions that detail a task for the computer to perform...

 and programs
Program (machine)
A program is a list of instructions written in a programming language that is used to control the behavior of a machine, often a computer ....

 are defined with a representation
Representation (mathematics)
In mathematics, representation is a very general relationship that expresses similarities between objects. Roughly speaking, a collection Y of mathematical objects may be said to represent another collection X of objects, provided that the properties and relationships existing among the...

 similar to its pictorial meaning as rooted in the more complex realm of human life and language with their higher need of summarization and categorization (semantics), while hiding away the implementation details. Abstraction tries to reduce and factor out details so that the programmer
A programmer, computer programmer or coder is someone who writes computer software. The term computer programmer can refer to a specialist in one area of computer programming or to a generalist who writes code for many kinds of software. One who practices or professes a formal approach to...

 can focus on a few concepts at a time.