#Abstraction, in phylosophy, is a mental process that, starting from an element of a certain concreteness, produces an element of a major level which has a major grade of universality.
This is my personal interpretation of the concept of Abstraction, but I think that any attempt to describe this process by a definition does not give the right idea of it so in this post I will try to give you the best explanation I can of it, basing on my personal mental experiences and on my reasonings.
I will try to show the most precise examples I can for giving you a simple and linear explanation.
The subject is not difficult as regards the concept, but it might be uneasy to explain it in the right way because every time we try to explain what happens inside our mind, is difficult to find the "right words" to describe the process we are explaining.
An easy example:
COMPUTER ARCHITECTURES/PROGRAMMING
A very apparent example of our use of abstraction is the construction of a computer architecture.
A computer is an electronic instrument created to calculate, and the only way it has to do it is to produce particular elettrical impulses into his circuits (also called logical networks). This level of rappresentation of the computer is also called hardware and it is the only one "really real" because it is the only one which depends only on the laws of physics.
Working only at the level of hardware might be very difficult when you want the computer to do complex actions (for example, the addiction operation, at the level of hardware, is very complex to realise) and so it might be helpful for the user to use a language, in which costruptions are contained the principal circuits operations: now we are at the level of the firmware.
The next level is the assembler language which is the last language having a strong join with the physical architecture of the computer.
The next level of abstraction from the physical machine is the kernel, which is the principal part of the application called Operating System which has the aim to organize the informations which are passed from the next level to the lower. Finally we find the application, totally abstracted from the physical machine.
The concept of abstraction is very important in computer science and computer engineering.
For those who knows some programming this is an simple example of abstraction in a OOP (Object Oriented Programming) language:
public class Person {
void eat(Food f){};
void sleep(int Hours){};
......
}
Thanks to abstraction we have summarized the main features of the Person entity: in the example we focused on the main actions a person can do in his life, but we can also underline other aspects like in the following example:
public class Person {
String name;
String surname;
int age;
......
}
Both the examples are a "right" rapresentation of the person entity, because they are submitted by the context in which the abstraction is working.
A very apparent example of our use of abstraction is the construction of a computer architecture.
A computer is an electronic instrument created to calculate, and the only way it has to do it is to produce particular elettrical impulses into his circuits (also called logical networks). This level of rappresentation of the computer is also called hardware and it is the only one "really real" because it is the only one which depends only on the laws of physics.
| The levels of abstraction in a CPU |
The next level is the assembler language which is the last language having a strong join with the physical architecture of the computer.
The next level of abstraction from the physical machine is the kernel, which is the principal part of the application called Operating System which has the aim to organize the informations which are passed from the next level to the lower. Finally we find the application, totally abstracted from the physical machine.
The concept of abstraction is very important in computer science and computer engineering.
For those who knows some programming this is an simple example of abstraction in a OOP (Object Oriented Programming) language:
public class Person {
void eat(Food f){};
void sleep(int Hours){};
......
}
Thanks to abstraction we have summarized the main features of the Person entity: in the example we focused on the main actions a person can do in his life, but we can also underline other aspects like in the following example:
public class Person {
String name;
String surname;
int age;
......
}
Both the examples are a "right" rapresentation of the person entity, because they are submitted by the context in which the abstraction is working.
Nessun commento:
Posta un commento