Система типізації: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Немає опису редагування
Немає опису редагування
Рядок 12:
* '''Документування''' — у виразнішіх системах типізації, типи даних можуть служити як вид документації, оскільки вони можуть описувати наміри розробника. Наприклад, довжина може бути підтипом [[цілі числа|цілих чисел]], але, якщо розробник об'являє повертаємий функцією тип даних як довжину, а не просто ціле число, це може частково описувати значення функції.
* '''Абстрагування (або модульність)''' — типи даних дозволяють розробнику розмірковувати про програми на вищому рівні, не звертаючи увагу на деталі реалізації на нижчому рівні. Наприклад, розробник може вважати [[рядок]] значенням, замість простого масиву [[байт]]. Або, типи можуть дозволити розробникам виражати інтерфейс між двома підсистемами. Це локалізує необхідні для взаємодії двох підсистем визначення та запобігає появі несумісностей під час взаємодії цих підсистем.
 
== Перевірка типів ==
 
Процес [[верифікація|перевірки]] та впровадження обмежень типів даних — ''перевірка типів'' — може відбуватись під час [[компілятор|компіляції]] (''статична типізація'') або під час виконання програми (''динамічна типізація''). Якщо мова програмування вимагає точного співставлення типів даних (тобто, дозволяючи лише такі операції автоматичного приведення типів, які не призводять до втрати інформації), така мова програмування має ''сильну типізацію'', в іншому випадку, ''слабку''.
 
== Дивіться також ==
 
* [[Тип даних]]
* [[Мова програмування]]
* [[Поліморфізм]]
 
{{Compu-stub}}