Was ist das Gegenteil von Abstraktion? [geschlossen]


19

Nach meinem Verständnis ist Abstraktion der Begriff, den wir verwenden, wenn mehr Bedeutung aus etwas Einfacherem entsteht, ohne es zu verändern. Es leitet sich vom lateinischen Verb abstrahere ab (wegziehen). Beispielsweise ist Text nur eine Abstraktion von Binärdaten - ebenso wie Bitmaps. Auf Computern existieren also Text und Bitmaps zusätzlich zu den Binärdaten (und werden in Form von Binärdaten implementiert).

Meine Frage ist: Was ist der entgegengesetzte Begriff? Wenn ich die grundlegenderen Möglichkeiten von Bitmaps kennen lernen möchte, die sich nicht auf Binärdaten beziehen, z. B. Kacheln für ein Mosaik oder Stoffpatches für einen Patchwork-Quilt, was möchte ich dann? Gibt es dafür ein Wort?

Abstraktion hat Konnotationen der Verallgemeinerung und der entgegengesetzte Prozess davon ist Spezialisierung. IDK, ob das hilft.


7
Dies ist möglicherweise besser für Englisch geeignet.
Péter Török

3
In einigen Fällen ist es einfach. Ich habe viele schreckliche Abstraktionen gesehen, die die Dinge nur komplizierter gemacht haben;
William

Ich denke, dieses Konzept hat kein befriedigendes Wort. Lassen Sie uns eine Münze so: "De-Abstraktion"
Conor Cosnett

Antworten:


8

Implementierung.

Abstraktion ist ein kurzes Wort, der mentale Prozess, ein (reduziertes) Modell einer realen Sache zu erhalten und in ein Konzept oder eine Idee zu "kompaktieren".

Das Gegenteil ist also, ein Konzept oder eine Idee in eine reale Welt zu verwandeln ;-)


2
Ich weiß nicht, ob ich das Gegenteil als komplementäres Konzept bezeichnen würde. Jedes Mal, wenn Sie eine Abstraktion in der Programmierung haben, haben Sie auch die Implementierung, dass die Abstraktion verborgen ist. Dies scheint jedoch die Frage zu sein.
jhocking

@jhocking Die Bremsen & das Gaspedal eines Autos sind Gegensätze, ergänzen sich aber auch. Prost.
Umlcat

"Manifestation" einer ätherischen Abstraktion vom platonischen Bereich zur (bloßen) physischen Realität
Conor Cosnett

41

Meistens

Konkretisierung - Wie in der Klasse C ++ Concrete

und in einigen Fällen:

Spezialisierung - Wie in C ++ Template-Spezialisierung

Hinzugefügt am 12. Juni 2012 : Dies ist ein schöner Begriff:

Reification - Wie in mehreren Programmiersprachen


6
Ich bin zwar nicht anderer Meinung als "konkretisieren" - es ist ein etwas umständliches Wort ... Wäre "konkretisieren" nicht besser? thefreedictionary.com/concretion
HorusKol

1
Concretion sicher.
Zachary Yates

Ist es dann nach der Konkretisierung in Beton gesetzt? Einfach fragen :-)
JensG

5

Im Rahmen der Programmierung seiner Reduzierung .

Reduktionismus

Wie in: "Ich habe das Problem auf die einfachsten Begriffe reduziert."


4

"Konkret" ist das Gegenteil von "abstrakt", also ist das Gegenteil von "Abstraktion" logischerweise "Konkretisierung". Es gibt jedoch kein genaues Gegenteil, da Sie im Allgemeinen nur über Abstraktion sprechen und selten über das Gegenteil nachdenken.


3

Fangen wir von vorne an. Was ist eigentlich Abstraktion?

Das Problem / Motiv

Wenn Sie programmieren, müssen Sie häufig sehr spezifisch detaillierte Probleme lösen.

Das Hauptmotiv für die Abstraktion ist, wenn Sie sich in einer Situation befinden, in der Ihr Programm das gesamte Problem als eine Einheit behandelt, mit vielen diskreten kleinen Besonderheiten, die Aufmerksamkeit und Verständnis erfordern. Das Problem dabei ist, dass es für den Menschen schwierig ist, mit so großen Datenmengen gleichzeitig umzugehen.

Die Lösung: Abstraktion

Damit Sie genau verstehen, was Sie zur Umsetzung Ihrer Idee benötigen , extrahieren Sie Detaillösungen in vereinfachte Abstraktionen .

Betrachten wir zum Beispiel ORM (Object-Relational Mapping), bei dem SQL in Objekte abstrahiert wird.

Um ein neues Element ohne Abstraktionen in eine Datenbank einzufügen, muss ein Programmierer SQL kennen. Um ein neues Element einzufügen, muss sich ein Programmierer die SQL-Syntax zum Einfügen eines neuen Elements in eine Tabelle merken:

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

Bei Abstraktionen muss sich der Programmierer nur der Idee bewusst sein, was er tun möchte. Eine objektorientierte Abstraktion könnte folgendermaßen aussehen:

Item item = new Item(value1, value2)

Sie können sogar noch einen Schritt weiter gehen und darüber nachdenken, dass SQL selbst eine riesige Abstraktion für Tonnen hochentwickelter Datenspeicherungsstrukturen und -algorithmen ist, die für das Erlernen einer einfachen deklarativen Sprache immer zur Hand sind.


Das Gegenteil von Abstraktion

Basierend auf dem, was wir jetzt definiert haben, dass es bei der Abstraktion wirklich darum geht, dass es ausreicht, nur das fundamentale Konzept zu kennen, können wir leicht ableiten, dass das Gegenteil der Abstraktion tatsächlich eine Esoterik ist , bei der der Gebrauch oder das Verstehen eine Art spezialisiertes Wissen erfordert die Besonderheiten des Subjekts.


1

"Ablenkung" - wie in dem Fall, wenn ein Teil des Codes nicht verstanden werden kann, ohne sich vieler tangentialer Details dessen bewusst zu sein, was tatsächlich passiert, wenn er ausgeführt wird.


0

Die Abstraktion kommt von abs-trahere, und ich würde sagen, dass es am besten mit "draw from" übersetzt wird (obwohl die wörtliche Übersetzung somit de-traction wäre). Ich habe versucht, das in einem Blogbeitrag zu erklären .

Abstraktion ist der Prozess des Zeichnens der Essenz aus etwas Konkretem. Konkrete Dinge sind meist enorm komplex. Wenn Sie sich zum Beispiel den nächstgelegenen Stuhl ansehen, den Sie sehen können, gibt es viele Details, die ihn tatsächlich ausmachen. Sein Material, seine Struktur, seine Form und so weiter. Aber keines dieser Dinge ist wirklich wichtig . Entscheidend ist, dass man darauf sitzen kann.
Deine "Zusammenfassung" von etwas ist das, was du siehst, wenn du es betrachtest. Wenn Sie sich diesen Stuhl ansehen, sehen Sie einen Stuhl. Ein Wrestler könnte stattdessen eine Waffe sehen.

Das Ergebnis der Abstraktion ist also wirklich die Essenz von etwas aus einer gegebenen Perspektive.

Bei einer Bitmap oder einem Text ist die Abstraktion, dass Sie einen bestimmten Wert als etwas betrachten, das einen bestimmten Zweck erfüllt. Abhängig von der jeweiligen Programmiersprache können Sie Ihr Denken in der Sprachsemantik darstellen.
Aber für Sie ist es eigentlich egal, ob die zugrunde liegenden Daten "binär" sind. Es würde genauso gut funktionieren, wenn es in Echtzeit von einer Rolle schmutzigen Papiers gelesen würde, deren Daten mit einem 13-Bit-Lochmuster codiert sind. Es interessiert dich nicht wirklich.
Natürlich hat das Implementieren einer konkreten Bitmap unter Verwendung von Binärdaten, die im Speicher gespeichert sind, einige offensichtliche Vorteile, und die meisten Leute werden dies vorziehen. Es gibt jedoch noch eine Reihe von Möglichkeiten, um beispielsweise Bitmap-Informationen tatsächlich zu codieren. Und es kann sogar sinnvoll sein, verschiedene Ansätze nebeneinander zu verfolgen. Mit Ausnahme des kleinen Codes, der die Darstellung anhand einer Reihe von Einschränkungen auswählt, möchten Sie jedoch keine Kenntnisse über die konkrete Natur der Bitmap haben. Sie interessieren sich nur für das Wesentliche aus Ihrer Sicht. In diesem Beispiel handelt es sich wahrscheinlich um eine Reihe von Methoden zum Bearbeiten von Pixeldaten.

Da eine Abstraktion in erster Linie eine Idee ist (wie in einem idealen Modell von etwas), könnte das Gegenteil als "Inkarnation" bezeichnet werden. Da die Programmierung selten eine fleischliche Angelegenheit ist, könnte man sich für die "Implementierung" entscheiden, während Abstraktionen häufig als Schnittstellen dargestellt werden.
Konkretisierung, wie von @Lior gesagt, ist auch ein sehr passendes Wort, obwohl sie sich eher auf die Mittel (dh etwas Konkretes zu machen - was natürlich unvermeidlich ist) als auf das eigentliche Ziel (dh eine Idee umzusetzen) konzentriert.


0

Abstraktion ist der Prozess des Entfernens von Einzelheiten, um etwas zu verallgemeinern. Wenn Abstraktion das Entfernen von Einzelheiten ist, dann ist das Gegenteil von Abstraktion möglicherweise die Spezifikation.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.