Abstraction (computer science)
In computer science, the mechanism and
practice of abstraction reduce and factor
out details so that one can focus on a few
concepts at a time.
The following English definition of ab-
straction helps to understand how this term
applies to computer science, IT and objects:
abstraction - a concept or idea not
associated with any specific instance
The concept originated by analogy with ab-
straction in mathematics. The mathematical
technique of abstraction begins with math-
ematical definitions; this has the fortunate ef-
fect of finessing some of the vexing philo-
sophical issues of abstraction. For example,
in both computing and in mathematics, num-
bers are concepts in the programming lan-
guages, as founded in mathematics. Imple-
mentation details depend on the hardware
and software, but this is not a restriction be-
cause the computing concept of number is
still based on the mathematical concept.
Roughly speaking, abstraction can apply
to control or to data: Control abstraction is
the abstraction of actions while data ab-
is that of data structures (e.g.
datatypes [vectors and pixels]).
• Control abstraction in the case of
structured programming involves the use
of subprograms and formatted control
flows to simulate desired concepts of
surreal features or interactions in reality
or in some abstract world
• Data abstraction allows handling data bits
in meaningful ways. For example, it is the
basic motivation behind datatype.
One can regard object-oriented programming
as an attempt to abstract both data and code.
Computing mostly operates independently of
the concrete world: The hardware imple-
ments a model of computation that is inter-
changeable with others. The software is
structured in architectures to enable humans
to create the enormous systems by concen-
tration on a few issues at a time. These archi-
tectures are made of specific choices of
abstractions. Greenspun’s Tenth Rule is an
aphorism on how such an architecture is both
inevitable and complex.