Пояснение причин и соответствующее обсуждение вы можете найти на странице Википедия:К удалению/15 апреля 2022. Пока процесс обсуждения не завершён, статью можно попытаться улучшить, однако следует воздерживаться от переименований или немотивированного удаления содержания, подробнее см. руководство к дальнейшему действию. Не снимайте пометку о выставлении на удаление до подведения итога обсуждения.
Процесс удаления или обобщения физических, пространственных или временных деталей или характеристик[2] при изучении объектов или систем с целью сосредоточения внимания на более важных деталях;[3] он схож по своей природе с процессом обобщения;
Создание абстрактных понятий-объектов путем отражения общих особенностей или характеристик различных неабстрактных объектов или исследуемых систем,[3] а также результат процесса абстракции.
Абстракция в информатике тесно связана с абстракцией в математике из-за их общего акцента на создании абстракций в качестве объектов,[2] но также связана с понятиями абстракции из других областей, таких как искусство.[3]
Абстракции также могут относиться к объектам и системам реального мира, правилам вычислительных систем или правилам программирования, которые используют или реализуют особенности самой абстракции, например:
применение типов данных для обеспечения абстракции данных для отделения их использования от рабочих представлений структур данных в программах;[6]
понятие процедур, функций или подпрограмм, которые представляют собой определенный способ реализации потока управления в программах;
правила, обычно называемые «абстракцией», которые обобщают выражения с использованием свободных и связанных переменных в различных версиях лямбда-исчисления;[7][8]
использование S-выражений в качестве абстракции структур данных и программ на языке программирования Lisp;[9]
процесс выведения общего поведения в абстрактные классы в объектно-ориентированных языках программирования.
Абстракция может выступать как инструмент уменьшения сложности систем, так как позволяет за скрыть детали реализации за аккуратно спроектированным интерфейсом или фасадом. Например, язык запросов к базам данных SQL абстрагирует от конкретной реализации хранения данных, параллельного многопользовательского доступа, восстановления после сбоев и других деталей, заложенных в системы управления базами данных[10]
↑Comer, D. E.; Gries, David; Mulder, Michael C.; Tucker, Allen; Turner, A. Joe; Young, Paul R. /Denning (1 January 1989). "Computing as a discipline". Communications of the ACM. 32 (1): 9—23. doi:10.1145/63238.63239. ISSN0001-0782. S2CID723103.
↑Barendregt, Hendrik Pieter. The lambda calculus : its syntax and semantics. — Revised. — Amsterdam : North-Holland, 1984. — ISBN 0444867481.
↑Barendregt, Hendrik Pieter. Lambda calculus with types. — Cambridge, UK : Cambridge University Press, 2013. — ISBN 9780521766142.
↑Newell, Allen. Computer science as empirical inquiry: symbols and search / Allen Newell, Herbert A. Simon. — ACM, 1 January 2007. — P. 1975. — ISBN 9781450310499. — doi:10.1145/1283920.1283930.
↑Мартин Клеппман. Высоконагруженные приложения. Программирование, масштабирование, поддержка. — "Издательский дом ""Питер""", 2018. — P. 640. — ISBN 9785446105120.