Qual è il contrario dell'astrazione? [chiuso]

18

A quanto ho capito, l'astrazione è il termine che usiamo quando più significato viene creato da qualcosa di più semplice senza alterarlo. Deriva dal verbo latino abstrahere (per 'disegnare'). Ad esempio, il testo è solo un'astrazione di dati binari, così come le bitmap. Quindi, nei computer, esistono testo e bitmap (sono implementati in termini di) dati binari.

La mia domanda è: qual è il termine opposto? Se voglio sapere le possibili cose più basilari che le bitmap potrebbero essere implementate in termini diversi dai dati binari - cose come le tessere per un mosaico o patch di tessuto per una trapunta patchwork - cosa sto chiedendo? C'è una parola per questo?

L'astrazione ha connotazioni di generalizzazione e il processo opposto è la specializzazione. IDK se questo aiuta.

    
posta Ollie Saunders 08.10.2011 - 11:22
fonte

8 risposte

8

Attuazione.

L'astrazione è parole brevi, è il processo mentale per ottenere un modello (ridotto) di una cosa del mondo reale e "compatto" in un concetto o un'idea.

Quindi l'opposto è prendere un'idea o un'idea e trasformarla in una cosa del mondo reale; -)

    
risposta data 08.10.2011 - 17:46
fonte
39

Di solito

Concretizzazione - Come in C ++ Concrete class

e in alcuni casi:

Specializzazione - Come in Specializzazione template C ++

Aggiunto il 12 giugno 2012 : questo è un bel termine:

Reification - Come in diversi linguaggi di programmazione

    
risposta data 08.10.2011 - 11:35
fonte
4

Nel contesto della programmazione della sua riduzione .

Riduzionismo

Come in: "Ho ridotto il problema ai suoi termini più semplici."

    
risposta data 08.10.2011 - 15:22
fonte
4

"Concrete" è l'opposto di "abstract", quindi il contrario di "astrazione" è logicamente "concretizzazione". Tuttavia, non c'è esattamente un opposto significativo dal momento che in genere parli solo di astrazione e raramente ci pensi al contrario.

    
risposta data 08.10.2011 - 18:00
fonte
2

Iniziamo da zero. Prima di tutto, cos'è davvero l'astrazione?

Il problema / motivo

Quando si programma, spesso si devono risolvere problemi molto dettagliati.

Il motivo principale per l'astrazione è quando potresti trovarti in una situazione in cui il tuo programma gestisce l'intero problema come una singola unità, con molte piccole peculiarità che richiedono attenzione e comprensione. Il problema qui è che è difficile per gli esseri umani gestire così enormi quantità di dati contemporaneamente.

La soluzione: astrazione

Affinché tu possa capire solo ciò di cui hai bisogno per attuare la tua idea , estrai soluzioni dettagliate in astrazioni semplificate .

Per esempio, diamo un'occhiata a ORM (Object-Relational Mapping), dove SQL è astratto in oggetti.

Per inserire un nuovo elemento in un database senza astrazioni, un programmatore deve conoscere SQL. Quindi per inserire un nuovo elemento un programmatore deve ricordare la sintassi SQL per inserire un nuovo elemento in una tabella:

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

Ma con le astrazioni, il programmatore deve solo essere consapevole della idea di ciò che desidera fare. Un'astrazione orientata agli oggetti potrebbe essere simile a:

Item item = new Item(value1, value2)

Puoi anche andare un po 'oltre e pensare al fatto che SQL stesso è un'enorme astrazione per tonnellate di sofisticate strutture e algoritmi di archiviazione dei dati, che sono completamente a portata di mano per il prezzo di imparare un semplice linguaggio dichiarativo.

The Opposite of Abstraction

Sulla base di ciò che ora abbiamo definito che astrazione è in realtà sufficiente a rendere sufficiente conoscere solo il concetto per eccellenza, possiamo facilmente dedurre che il contrario di astrazione è in effetti esoterica , in cui l'uso o la comprensione comporta una sorta di conoscenza specializzata delle peculiarità del soggetto.

    
risposta data 08.10.2011 - 17:03
fonte
1

"Distrazione" - come in quello che succede quando un pezzo di codice non può essere compreso senza essere a conoscenza di molti dettagli tangenziali di ciò che accade realmente quando viene eseguito.

    
risposta data 25.01.2013 - 00:21
fonte
0

L'astrazione viene da abs-trahere e direi che è meglio tradotto come "draw from" (anche se la traduzione letterale sarebbe quindi la de-trazione). Ho cercato di spiegarlo in un post del blog .

L'astrazione è il processo di che disegna essence da qualcosa di concreto. Le cose concrete sono di solito enormemente complesse. Ad esempio, se guardi la sedia più vicina che puoi vedere, ci sono molti dettagli che in realtà lo costituiscono. Il suo materiale, la sua struttura, la sua forma e così via. Ma nessuna di queste cose è veramente essenziale . L'essenziale è che tu possa sederti sopra.
Il tuo "abstract" di qualcosa è ciò che tu vedi, quando lo guardi. Quando guardi quella sedia, vedi una sedia. Invece un lottatore potrebbe effettivamente vedere un'arma.

Quindi il risultato dell'astrazione è davvero l'essenza di qualcosa da una prospettiva data.

Nel caso di una bitmap o di un testo, l'astrazione è, che si pensa a un dato valore come qualcosa che soddisfa uno scopo specifico. A seconda del linguaggio di programmazione a portata di mano, puoi rappresentare il tuo pensiero all'interno della semantica della lingua.
Ma per te, non importa, se i dati sottostanti sono "binari". Funzionerebbe altrettanto bene se fosse letto in tempo reale da un rotolo di carta faticosa, che ha i dati codificati con un modello di perforazione a 13 bit. Non ti interessa davvero.
Naturalmente implementare una bitmap concreta utilizzando i dati binari memorizzati nella memoria presenta alcuni ovvi vantaggi e la maggior parte delle persone preferirà questo. Tuttavia, esistono ancora diversi modi per codificare effettivamente le informazioni sulle bitmap, ad esempio. E potrebbe anche avere senso usare approcci diversi uno accanto all'altro. Ma a parte il piccolo pezzo di codice, che sceglie la rappresentazione in base a una serie di vincoli, non si vuole avere alcuna conoscenza della natura concreta della bitmap. Ti interessa solo ciò che è essenziale dal tuo punto di vista. In questo esempio è probabilmente un numero di metodi per manipolare i dati dei pixel.

Poiché un'astrazione è in realtà prima di tutto un'idea (come in un modello ideale di qualcosa), l'opposto potrebbe essere chiamato "incarnazione". Poiché la programmazione è raramente una cosa carnale, si potrebbe andare con "implementazione", mentre le astrazioni sono spesso rappresentate come interfacce.
La concrezionalizzazione, come affermato da @Lior, è anche una parola molto adatta, anche se si concentra maggiormente sui mezzi (cioè rendendo qualcosa di concreto - che ovviamente è inevitabile) piuttosto che l'obiettivo reale (cioè implementare un'idea).

    
risposta data 08.10.2011 - 17:33
fonte
0

L'astrazione è il processo di rimozione di specifiche per generalizzare qualcosa. Se l'astrazione è la rimozione di specifiche, allora forse il contrario dell'astrazione è la specifica.

    
risposta data 25.01.2013 - 00:13
fonte

Leggi altre domande sui tag