Це залежить від мови.
Наприклад, в таких мовах , як C і C ++, у вас є кілька вбудованих скалярні типи - int
, float
, double
, char
і т.д. Вони є «примітивними» в тому сенсі , що вони не можуть бути розкладені на більш прості компоненти. З цих основних типів можна визначити нові типи - типи вказівників, типи масивів, типи структур, типи об'єднання тощо.
Тоді у вас є така мова, як у старошкільної Ліспи, де все або атом, або список . Знову ж таки, за вищенаведеним визначенням, атом є "примітивним" в тому сенсі, що його не можна розкласти на щось простіше.
Редагувати
Що стосується мене, терміни "примітивний", "базовий" та "вбудований" в значній мірі взаємозамінні. Якщо ви хочете отримати дійсно педантичний характер, ви можете розрізняти типи "вбудованих" (тих, які явно передбачені мовним визначенням), і типів, похідних від вбудованих типів, які все ще є "примітивними" або "базовими" тим, що їх не можна розкласти на простіші елементи. C'stypedef
Засіб дозволяє створювати нові імена типів для існуючих типів. Ада дозволяє створювати нові скалярні типи, які мають для них обмеження. Наприклад, ви можете отримати тип Latitude із вбудованого плаваючого типу з тим обмеженням, що він не може приймати значення поза діапазоном [-90.0, 90.0]. Це все-таки примітивний або базовий тип, оскільки його неможливо розділити на більш прості компоненти, але оскільки він визначений користувачем, він не вважається "вбудованим" типом.
Знову ж таки, ці поняття трохи нечіткі, і це дійсно залежить від контексту. Наприклад, поняття "вбудований" тип є безглуздим для такої безмовної мови, як BLISS.