What is the definition of natural abstraction?

What is the definition of Abstraction in relation to computer science?

  • Answer:

    Consider a t-shirt How you see it - a T-shirt!! How a tailor sees it - a cloth, some pockets, a few buttons and some stitches to put all of these together. How a cloth manufacturer sees it - many threads, some colors (dyes) and a loom to put all these threads together. How a thread manufacturer sees it - some cotton plants, a machine to extract the fibers, a machine to twist them into thread... . . . and so on.. If you see at each level, the person has no knowledge about how the material he is using, came into being. All he knows is what to do with it. This is abstraction - hiding the details and showing them only to those concerned. In the above case you only need the t-shirt, you are not concerned how it was made...

Dhruv Chaudhary at Quora Visit the source

Was this solution helpful to you?

Other answers

Something that is an 'abstraction' is context free, meaning it applies outside of a 'real' example. Addition is an abstraction. One apple plus one apple is two apples. It could be apples, or oranges, or dogs, or cats, or ideas, or planets. A queue is abstraction. A queue could be a queue of people, places to travel, or nodes on a graph. Classes can be abstractions. They define the core tenets of what a class is, but might not be 'real' until subclassed and implemented (and even used). Layers can be abstractions. Asking for a primitive to be rendered on screen can be context free in discussion, but depending on which graphics rendering library you're using, can be several different things in 'reality'. So, so long as the 'reality' of the situation is hidden from you, and you can still move forward with your ideas, you're working with an abstraction.

Michael Nguyen

It's a layer in which You perceive the problem. For a trivial example: When You want to boil some water You press a button on a kettle. It closes the electronical circuit and due to high resistivity of the metal board it produces heat which is absorbed by the water. But You don't need to know all of that to boil the water. You just need to know that when You click the button the water will evenually start to boil. Everything underneath is not important for You to solve the problem. That's Your layer of abstraction.

Krzysztof Wende

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.