Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

В чём разница между примитивными, структурными и абстрактными типами данных? Почему абстрактный тип данных не считается структурным?

ПрограммированиеIt (информационные технологии)Языки программирования
Дмитрий Прохожий
  · 581
Образовательная платформа Хекслет  · 29 июл 2021  · ru.hexlet.io

Примитивные типы данных, как правило, это булево значения, числа и строки. Иногда туда входят специальные значения языка (null, undefined).

Структурные данные, как следует из названия, имеют некоторую структуру. Например, списки и объекты. Структурные данные могут содержать в себе примитивы и другие структуры.

Абстракция же - это не тип данных сама по себе, а способ сделать код выразительным. Мы даём структурам данных имена и этим абстрагируемся от деталей реализации. Например, пользователь - это абстрактный тип. Нам не важно представлен он строкой, массивом или объектом, для нас это абстракция. Абстракция с помощью данных.

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

collection.sortBy('name')
image.png
Помогаем новичкам освоить профессию веб-разработчикаПерейти на ru.hexlet.io/webinars
Веб-разработчик, геймер, специалист по этике  · 10 авг 2021
Абстрактный тип данных это концепция совершенно из другой области, нежели примитивные и структурные типы данных, их вообще нельзя никак сравнивать. АТД, в английской терминологии ADT, abstract data type, это "просто" тип данных, описание класса вещей, которые вы используете в программе. Абстрактным его делает то, что описаны только операции, которые доступны с этим... Читать далее