A-Z Popular Blog Coding Search »
Related Guides

What is Abstraction?

 , updated on November 17, 2016
Abstraction is a basic property of high level programming languages whereby programmers work with language features based on concepts rather than the realities of computing. For example, a programmer may call an API to encrypt a file with a few lines of code that pass in parameters such as the name of the file. The programmer doesn't need to know how the encryption algorithm works or the details of the instructions that occur at the machine level.
As technology progresses, programming languages tend to become higher level with extremely complex tasks specified with relatively simple APIs or user interfaces. This allows programmers to create increasingly sophisticated designs because they aren't stuck in low level details.
Overview: Abstraction
Definition (1)Programming languages and APIs that are idealized for programmers as opposed to representative of computing realities.
Definition (2)High level languages and APIs that hide complex details behind relatively simple concepts.
Related ConceptsComplexity Hiding
Coding Basics


This is the complete list of articles we have written about coding.
Code Refactoring
Code Smell
Complexity Hiding
Deep Magic
Edge Case
Event Processing
Forward Compatibility
IT Artifact
IT Examples
Negative Code
Proof Of Work
Software Design
More ...
If you enjoyed this page, please consider bookmarking Simplicable.


A list of coding considerations and techniques.

Emergence vs Big Design Up Front

The difference between emergence and big-design-up-front.

Deep Magic

An overview of deep magic, a technology term.

Principle Of Least Astonishment

An overview of the Principle Of Least Astonishment.

Pull vs Push

The difference between pull and push technology.

Binary vs Hexadecimal

A comparison of binary and hexadecimal.

End-User Computing

An overview of end-user computing.

Library vs API

The difference between a library and API explained.

Code Reuse

The common types of code reuse.

Code Freeze

The common types of code freeze.


A few types of algorithms.

Algorithms vs Code

The difference between algorithms and code.

Edit Distance

An overview of edit distance.

Random Seed

The definition of random seed with examples.

Soft Computing

The definition of soft computing with examples.

Algorithmic Accountability

The definition of algorithmic accountability with examples.

Input Is Error

An overview of input is error.

IT Bias

An overview of IT biases with examples.
The most popular articles on Simplicable in the past day.

New Articles

Recent posts or updates on Simplicable.
Site Map