Update
This commit is contained in:
parent
8a47be246c
commit
0e9129c535
16 changed files with 1961 additions and 1949 deletions
|
@ -1,6 +1,6 @@
|
|||
# Abstraction
|
||||
|
||||
Abstraction is an important concept in [programming](programming.md), [mathematics](math.md) and other fields of [science](science.md), [philosophy](philosophy.md) and [art](art.md), which in simple words can be described as "viewing an issue from a distance", thinking in higher-level concepts, i.e. paying less attention to fine detail so that one can see the bigger picture. In programming for example we distinguish [programming languages](programming_language.md) of high and low level of abstraction, depending on how close they are "to the [hardware](hardware.md)" (e.g. [assembly](assembly.md) being low level, [JavaScript](js.md) being high level); in [art](art.md) high abstraction means portraying and capturing things such as ideas, feelings and emotions with shapes that may seem "distant", not resembling anything concrete or familiar. We usually talk about different **levels of abstraction**, depending on the "distance" we take in vieweing the issue at hand -- this concept may very well be demonstrated on [sciences](science.md): particle [physics](physics.md) researches the world at the lowest level of abstraction, in extreme close-up, for example by examining individual atoms that make up our brains, while [biology](biology.md) resides at a higher level of abstraction, viewing the brain at the level of individual cells, and finally [psychology](psychology.md) shows a very high level of abstraction because it looks at the brain from great distance and just studies its behavior.
|
||||
Abstraction (from Latin *abstraho*, to *draw away*) is an important concept in [programming](programming.md), [mathematics](math.md) and other fields of [science](science.md), [philosophy](philosophy.md) and [art](art.md), which in simple terms means "viewing something from a distance", thinking in higher-level concepts, paying less attention to fine detail so that one can better see the bigger picture. In programming for example we distinguish [programming languages](programming_language.md) of high and low level of abstraction, depending on how close they are "to the [hardware](hardware.md)" (e.g. [assembly](assembly.md) being low level, [JavaScript](js.md) being high level); in [art](art.md) high abstraction means portraying and capturing things such as ideas, feelings and emotions with shapes that may seem "distant", not resembling anything concrete or familiar. We usually talk about different **levels of abstraction**, depending on the "distance" we take in vieweing the issue at hand -- this concept may very well be demonstrated on [sciences](science.md): particle [physics](physics.md) researches the world at the lowest level of abstraction, in extreme close-up, for example by examining individual atoms that make up our brains, while [biology](biology.md) resides at a higher level of abstraction, viewing the brain at the level of individual cells, and finally [psychology](psychology.md) shows a very high level of abstraction because it looks at the brain from great distance and just studies its behavior. Scientific papers always begin with an abstract, a short "high altitude" overview and summary of the paper.
|
||||
|
||||
[Mathematics](math.md) is a discipline best exemplifying abstraction: it deals purely with abstract concepts. Initially this abstraction is mild -- [numbers](number.md) and [sets](set.md) for example -- and the more it advances, the deeper and harder to grasp the abstraction becomes, towards difficult to imagine concepts such as [differential equations](differential_equation.md), [categories](category.md), [quaternions](quaternion.md), different types of [infinities](infinity.md), [decidability](decidability.md) etc. Some subjects go as far to almost lose any connection with the [real world](irl.md), leaving us completely without any intuition or a way to even visualize what we're dealing with. Ever growing abstraction is probably the inevitable purpose and objective of mathematics, but now let's rather ask how abstraction relates to programming.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue