Здравствуйте, Gaperton, Вы писали:
G>Началось все достаточно давно с появления концепции "Абстрактный Тип Данных" (то, что сейчас в ООП называется "инкапсуляцией"). Определение таково: тип данных, определяемый набором операций над ним. Концепция совершенно математическая, и вообще говоря самостоятельная. Известны языки, поддерживающие только инкапсуляцию, без наследования и полиморфизма. Уже в конце 70-х курс обучения программированию в Массачусетском технологическом институте был полностью основан на концепции ADT. Желающие могут ознакомиться с этим курсом и сейчас в замечательной книге "Использование абстракций и спецификаций при разработке программ" (Лисков Б., Гатэг Дж. 1989). Кстати, если кто не читал, рекомендую
, получите массу удовольствия.
Все верно.
Единственное дополнение, которое я хотел сделать, состоит в следующем.
Читать книгу Лисков и Гатега долго, но есть книга попроще, да и к математике поближе.
Я имею в виду элементарный учебник Ахо, Ульмана и Хопкрофта "Структуры данных и алгоритмы", недавно (пере?)изданный на русском.
В первой же главе там излагается понятие АТД самым простым способом.
АТД именно и трактуется как математическая модель (наверное, точнее было бы сказать: "математическая структура").
Наверное, проще рекомендовать для прочтения эту книгу.