Computers use special ways to work. 
Computers use special ways to work. 
Some parts of a computer are very complex. A computer thinks in tiny bits and numbers. People do not think that way.
Special tools hide these tiny steps. This makes it easier to write code. A person can just ask for a sum.
Computers can also hide how they store facts. This lets the machine change how it works. The person using it does not notice.
These tools help make huge systems. They help people build great things. It is a smart way to work.
In computer science, abstraction is a way to hide hard details. It lets people focus on the most important parts of a job. 
Computers work in a very complex way. They use tiny bits of data to do math. A person might just write a simple sum. But the computer must do many hidden steps. It must turn numbers into binary. Then it must find where to store the answer in its memory. Abstraction hides these small steps. This is called control abstraction. It helps people write code without repeating hard tasks.
Programmers also use data abstraction. This hides how facts are stored. A programmer can use a lookup table to find information. The table might work in many different ways inside the machine. But the person using the table sees the same simple way every time.
Some tools help build huge systems. Software is often split into smaller parts. This is called structured programming. It breaks big tasks into small pieces. This makes the work easier to manage. Abstraction helps humans build very large and smart programs.
Abstraction is a clever way to manage complexity in computer science. It works by providing access to a system while hiding the difficult details. 
One way this works is through control abstraction. To a person, a math problem like (1 + 2) * 5 looks very simple. However, the computer must perform many subtle and complex steps to solve it. It must convert those numbers into a binary representation. Then, it must break the math down into tiny assembly instructions. The computer even has to find a specific spot in its memory to store the result. Abstraction hides all these tiny steps so the programmer does not have to repeat them. 
Programmers also use something called data abstraction. This keeps the way data is used separate from how it is actually stored. For example, a programmer might use a lookup table to find a specific value. Inside the machine, that table could be a hash table or a simple list. 
History shows that programming languages have grown through many stages of abstraction. It started with first-generation machine language. Then came second-generation assembly language. Later, third-generation high-level languages were developed. 
Modern software often uses object-oriented programming to organize these ideas. This method uses objects to represent different actors in a system. 
{
"text": "In computer science, abstraction is a fundamental method used to manage complexity. It works by providing access to a system or a set of data while hiding the difficult details that would otherwise make access challenging. By hiding these underlying mechanics, abstraction allows a person to focus their attention on details of greater importance. This process is essential because computing mostly operates independently of the concrete, physical world. Hardware implements a model of computation that can be interchangeable with others. Without abstraction, humans could not create enormous software systems because they would be overwhelmed by too many details at once. Instead, software is structured into architectures that allow creators to concentrate on only a few issues at a time.\n\nOne primary type of abstraction is control abstraction. This allows programmers to perform high-level tasks without managing the tiny, low-level steps the computer must take. For example, a human might write a simple math statement like a := (1 + 2) * 5. To a person, this is an obvious calculation. However, the computer must perform several subtle and complex steps to finish this task. It must convert the numbers into a binary representation, which is a system of bits. It must then decompose the math into assembly instructions, such as shifting a binary register or adding a binary complement. Finally, it must look up a variable's label and find a specific location in physical or virtual memory to store the result. Control abstraction hides these repetitive tasks, preventing the programmer from having to write for specific hardware every time.\n\nAnother vital concept is data abstraction. This technique enforces a clear separation between the abstract properties of a data type and the concrete details of how it is implemented. The abstract properties are the interface, which is what the user sees and interacts with. The concrete implementation is kept private. This means a programmer can change the internal code to make it more efficient without changing how the user interacts with it. For instance, a programmer might use a lookup table to associate keys with values. This table could be implemented as a hash table, a binary search tree, or a simple linear list. As long as the interface remains the same, the user does not notice the change. The interface acts like a contract on agreed behavior between the data type and the code using it.\n\n

🖼️ Images & Media (1)
More to explore
✨ What else?
Related topics you might enjoy
🔬 Go deeper
More advanced topics to explore
🪜 Step back
Simpler topics to build understanding
What is Nepedia?
A free, ad-free encyclopedia for children. Every article is written at five reading levels, so the same page works for a five-year-old and a fifteen-year-old — use the level switcher above to see this one change. No account needed to read.