Знаком (*) я буду обозначать темы со звездочкой — это не обязательно будет означать повышенную сложность, а, например, какие-то дополнения к текущим темам, чуть более глубокое их раскрытие итп.

Ок, допустим мы разработали, как мы считаем, универсальный алгоритм для покупок. Назвали его «купи» и описали какие действия нужно осуществить для того, чтобы купить «что купить» в магазине «где купить», имея на руках требуемую сумму.

При этом изначально мы отталкивались от алгоритма для покупки кефира для того, чтобы перейти к более абстрактной версии алгоритма.

Но что будет, если мы попросим купить тонну цемента? Справится ли человек с этой задачей, следуя нашему алгоритму? Или попросим купить автомобиль в автосалоне?

В первом случае окажется, что человек не может физически принести домой тонну цемента, а значит алгоритм для покупки кефира и хлеба не сработает. Это и есть протекающая абстракция. Разрабатывая алгоритм мы невольно оперировали определенным контекстом, даже не задумываясь о его существовании.

Чтобы забрать автомобиль из автосалона, заплатив за него деньги, надо иметь водительское удостоверение и уметь водить машину. И снова наша абстракция протекла.

Таких примеров можно придумать массу: все покупки по отдельности легкие, но в сумме человеку не хватит рук, чтобы их унести, или их суммарная масса превысит его возможности. Или покупка одна, легкая, но слишком габаритная и поэтому не влезет в лифт и человеку придется идти пешком, итд итп.

Словарь

  • универсальный алгоритм

  • абстракция / абстрактный

  • протекание абстракции

Полезные ссылки