Abstrakce

Tento pojem může znamenat různé věci v různých kontextech. V sémantice a filozofii „abstraktní“ znamená něco, co nemůžete vnímat pomocí svých smyslů; opak „konkrétního“. „Labrador“ je konkrétní entita, protože ji můžeme vidět, dotknout jí ho nebo obejmout ji, ale „žijící“ je abstraktní pojem, který se hůře představuje a ani se ho nemůžete dotknout. Toto použití slov nerozlišuje mezi stupni abstrakce. Podle tohoto použití slova je něco buď abstraktní, nebo není. Ale s prvními dvěma příklady je zřejmá úroveň abstrakce.

U různých objektů rozpoznáváme jejich společné vlastnosti. Bret Victor má esej nazvanou Up and Down the Ladder of Abstraction abstrakce, kde hovoří o abstrakci jako o odklonu od konkrétního odstraněním konkrétních vlastností.

V kontextu matematiky je abstraktní matematika studijním oborem. Teorie kategorií poskytuje úroveň abstrakce, která zahrnuje jen velmi málo symbolů, konceptů, kterou se snaží vyjádřit velkou část základní matematiky. Buduje se na abstrakcích ve smyslu obecnosti, například to, jak je zvíře obecnější než člověk. Například algebra je abstraktnější než aritmeticka. Aritmetika říká, že 1 + 1 = 2, 2 + 2 = 4 a 3 + 3 = 6. Algebra říká, že n + n = 2n. Nebo relace zkoumají vztahy mezi různými n-ticemi.

Abstrakce používaná v matematice a informatice je také sama dost okrajovým případem abstrakce, protože je přesná: nezabývá se fuzzy hranicemi, které vidíme ve skutečném světě. Většina zajímavých problémů a diskuzí vzniká nepřesnou abstrakci. Například řada právních sporů má kořen v absenci přesných definic obecných pojmů ve světě.

V elektrotechnice nám může abstrakce pomoci. Máme spoustu tranzistorů a vodičů na čipu a potřebujeme s nimi provést nějaké logické operace, například brány NAND. Pro jednoduchost tedy vyhodíme informace o detailech konstrukce součástek a zacházíme s nimi jako s abstraktní logickou bránou NAND. Pouze pomocí abstraktní vrstvy můžeme předpovědět, jaké výstupy budou výsledkem kterých vstupů. I v tomto případě je fuzz - 0,01 V a 0,02 V jsou považovány za logickou nulu a ve vzácných případech bude ve vodičích dostatek šumu, aby se získal nesprávný výstup.

Softwarová architektura je především o abstrakcích a jejich vzájemných vztazích. Tyto abstrakce můžeme koncipovat jako atomy. Víme, že mohou mít nějakou vnitřní strukturu, ale pro nás je irelevantní. Důležité pro nás však je, jak tyto abstrakce v naší architektuře na sobě vzájemně závisí.

Zobecnění

V programování je polymorfismus jedním ze způsobů jak zobecnit entity.

Kompozice

[]: https://www.lesswrong.com/posts/bYScAyTebG452Ds8A/what-is-abstraction

Související