
related topics 
{math, number, function} 
{system, computer, user} 
{theory, work, human} 
{food, make, wine} 
{rate, high, increase} 
{specie, animal, plant} 
{language, word, form} 

In computer science, the mechanism and practice of abstraction reduces and factors out details so that one can focus on a few concepts at a time.
The following English definition of abstraction helps to understand how this term applies to computer science, IT and objects:
The concept originated by analogy with abstraction in mathematics. The mathematical technique of abstraction begins with mathematical definitions; this has the fortunate effect of finessing some of the vexing philosophical issues of abstraction. For example, in both computing and in mathematics, numbers are concepts in the programming languages, as founded in mathematics. Implementation details depend on the hardware and software, but this is not a restriction because the computing concept of number is still based on the mathematical concept.
In computer programming, abstraction can apply to control or to data: Control abstraction is the abstraction of actions while data abstraction is that of data structures.
 Control abstraction involves the use of subprograms and related concepts control flows
 Data abstraction allows handling data bits in meaningful ways. For example, it is the basic motivation behind datatype.
One can regard the notion of an object (from objectoriented programming) as an attempt to combine abstractions of data and code.
The recommendation that programmers use abstractions whenever suitable in order to avoid duplication (usually of code) is known as the abstraction principle. The requirement that a programming language provide suitable abstractions is also called the abstraction principle.
Contents
Full article ▸


related documents 
PL/SQL 
MATLAB 
Preprocessor 
Insertion sort 
L'Hôpital's rule 
Complete metric space 
Supremum 
Standard ML 
Icon (programming language) 
Equivalence relation 
Cantor's diagonal argument 
Tail recursion 
Natural number 
Hexadecimal 
Kernel (matrix) 
Integer 
Square root 
Analysis of algorithms 
Objectoriented programming 
Cholesky decomposition 
Hausdorff dimension 
Template (programming) 
Extended Euclidean algorithm 
Uniform continuity 
Chaitin's constant 
Breadthfirst search 
Taylor's theorem 
Goldbach's conjecture 
Euclidean space 
Homology (mathematics) 
