Quel est l'opposé de l'abstraction? [fermé]


19

Si je comprends bien, l'abstraction est le terme que nous utilisons lorsque plus de sens est créé à partir de quelque chose de plus simple sans le modifier. Il est dérivé du verbe latin abstrait ici («éloigner»). Par exemple, le texte n'est qu'une abstraction des données binaires, tout comme les bitmaps. Ainsi, dans les ordinateurs, le texte et les bitmaps existent au-dessus (sont mis en œuvre en termes de) données binaires.

Ma question est: quel est le terme opposé? Si je veux savoir les choses les plus élémentaires possibles que les bitmaps pourraient être implémentées en termes autres que des données binaires - des choses comme des tuiles pour une mosaïque ou des patchs de tissu pour une courtepointe patchwork - que demande-je? Y a-t-il un mot pour ça?

L'abstraction a des connotations de généralisation et le processus inverse est la spécialisation. IDK si cela aide.


7
Cela peut être mieux adapté à English.SE.
Péter Török

3
Dans certains cas, simplicité. J'ai vu plein d'abstractions terribles qui n'ont fait que compliquer les choses;
William

Je pense que ce concept n'a pas un mot satisfaisant. Permet de créer une pièce: "de-abstraction"
Conor Cosnett

Réponses:


8

La mise en oeuvre.

L'abstraction est des mots courts, c'est le processus mental d'obtention d'un modèle (réduit) d'une chose du monde réel, et "compact" en un concept ou une idée.

Donc, le contraire est de prendre un concept ou une idée et de le transformer en une chose du monde réel ;-)


2
Je ne sais pas si j'appellerais autant cela l'opposé autant qu'un concept complémentaire. Comme dans, chaque fois que vous avez une abstraction dans la programmation, vous avez également l'implémentation que l'abstraction cache. Cependant, cela semble être ce que la question demande.
jhocking

@jhocking Les freins et l'accélérateur d'une voiture sont opposés, mais complètent également. À votre santé.
umlcat

"manifestation" d'une abstraction éthérée du domaine platonicien à la (simple) réalité physique
Conor Cosnett

41

habituellement

Concrétisation - Comme dans la classe C ++ Concrete

et dans certains cas:

Spécialisation - Comme dans la spécialisation de modèles C ++

Ajouté le 12 juin 2012 : C'est un joli terme:

Réification - Comme dans plusieurs langages de programmation


6
Bien que je ne sois pas en désaccord avec l'utilisation de «concrétiser» - c'est un peu un mot lourd… la «concrétion» ne serait-elle pas meilleure? thefreedictionary.com/concretion
HorusKol

1
Concrétion à coup sûr.
Zachary Yates

Est-elle alors mise en béton, après la concrétion? Je demande juste :-)
JensG

5

Dans le cadre de la programmation de sa réduction .

Réductionnisme

Comme dans: "J'ai réduit le problème à ses termes les plus simples."


4

"Concret" est l'opposé de "abstrait", donc l'opposé de "abstraction" est logiquement "concrétisation". Cependant, il n'y a pas exactement d'opposé significatif, car vous ne parlez généralement que d'abstraction et pensez rarement à son contraire.


3

Commençons à zéro. Tout d'abord, qu'est-ce que l'abstraction?

Le problème / motif

Lorsque vous programmez, vous devez souvent résoudre des problèmes très précis et détaillés.

Le motif principal de l'abstraction est lorsque vous vous retrouvez dans une situation où votre programme traite l'ensemble du problème comme une seule unité, avec de nombreuses petites particularités discrètes qui nécessitent attention et compréhension. Le problème ici est qu'il est difficile pour les êtres humains de gérer de telles quantités de données à la fois.

La solution: l'abstraction

Afin que vous puissiez comprendre exactement ce dont vous avez besoin pour mettre en œuvre votre idée , vous extrayez des solutions détaillées dans des abstractions simplifiées .

Par exemple, regardons ORM (Object-Relational Mapping), où SQL est abstrait en objets.

Afin d'insérer un nouvel élément dans une base de données sans abstractions, un programmeur doit connaître SQL. Ainsi, pour insérer un nouvel élément, un programmeur doit se souvenir de la syntaxe SQL pour insérer un nouvel élément dans une table:

INSERT INTO Items (field1, field2) VALUES (value1, value2)

Mais avec les abstractions, le programmeur n'a qu'à être conscient de l' idée de ce qu'il souhaite faire. Une abstraction orientée objet pourrait ressembler à:

Item item = new Item(value1, value2)

Vous pouvez même aller un peu plus loin et penser au fait que SQL lui-même est une énorme abstraction pour des tonnes de structures et d'algorithmes de stockage de données sophistiqués, qui sont entièrement à votre portée pour le prix de l'apprentissage d'un langage déclaratif simple.


L'opposé de l'abstraction

Sur la base de ce que nous avons maintenant défini que l' abstraction consiste vraiment à rendre suffisant de ne connaître que le concept par excellence, nous pouvons facilement en déduire que l'opposé de l' abstraction est en fait l' ésotérique , où l'utilisation ou la compréhension implique d'avoir une sorte de connaissance spécialisée de les particularités du sujet.


1

"Distraction" - comme dans ce qui se passe quand un morceau de code ne peut pas être compris sans être au courant de nombreux détails tangentiels de ce qui se passe réellement quand il est exécuté.


0

L'abstraction vient de l'abs-trahere et je dirais qu'il vaut mieux la traduire par «puiser» (bien que la traduction littérale serait donc de-traction). J'ai essayé de l'expliquer dans un article de blog .

L'abstraction est le processus qui consiste à tirer l' essence de quelque chose de concret. Les choses concrètes sont généralement extrêmement complexes. Par exemple, si vous regardez la chaise la plus proche que vous pouvez voir, il y a beaucoup de détails qui la constituent. Sa matière, sa structure, sa forme, etc. Mais aucune de ces choses n'est vraiment essentielle . L'essentiel est que vous puissiez vous asseoir dessus.
Votre «abstrait» de quelque chose est ce que vous voyez, quand vous le regardez. Lorsque vous regardez cette chaise, vous voyez une chaise. Un lutteur pourrait en fait voir une arme à la place.

Le résultat de l'abstraction est donc vraiment l'essence de quelque chose dans une perspective donnée.

Dans le cas d'une image bitmap ou d'un texte, l'abstraction est que vous pensez à une valeur donnée comme quelque chose remplissant un objectif spécifique. Selon le langage de programmation utilisé, vous pouvez représenter votre pensée dans la sémantique du langage.
Mais pour vous, peu importe que les données sous-jacentes soient "binaires". Cela fonctionnerait tout aussi bien s'il était lu en temps réel à partir d'un rouleau de papier dur, dont les données sont encodées avec un motif de perforation de 13 bits. Vous ne vous souciez pas vraiment.
Bien sûr, la mise en œuvre d'une image bitmap concrète à l'aide de données binaires stockées en mémoire présente des avantages évidents et la plupart des gens préféreront cela. Pourtant, il existe encore un certain nombre de façons de coder les informations bitmap, par exemple. Et il pourrait même être judicieux d'utiliser différentes approches côte à côte. Mais à l'exception du petit morceau de code, qui choisit la représentation en fonction d'un certain nombre de contraintes, vous ne voulez pas avoir de connaissances sur la nature concrète du bitmap. Vous ne vous souciez que de l'essentiel de votre point de vue. Dans cet exemple, il s'agit probablement d'un certain nombre de méthodes pour manipuler les données de pixels.

Parce qu'une abstraction est en fait avant tout une idée (comme dans un modèle idéal de quelque chose), l'opposé pourrait être appelé "incarnation". Étant donné que la programmation est rarement une chose charnelle, on pourrait aller avec "implémentation", tandis que les abstractions sont souvent représentées comme des interfaces.
La concrétisation, comme l'a dit @Lior, est également un mot très approprié, même s'il se concentre davantage sur les moyens (c'est-à-dire rendre quelque chose de concret - ce qui bien sûr est inévitable) plutôt que sur le but réel (c'est-à-dire mettre en œuvre une idée).


0

L'abstraction est le processus de suppression de spécificités pour généraliser quelque chose. Si l'abstraction est la suppression de spécificités, alors l'opposé de l'abstraction est peut-être la spécification.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.