Loading AI tools
набір правил, за якими присвоюють властивість, що називається типом, різним елементам комп'ютерної програми, таким як змінні, вирази, функц З Вікіпедії, вільної енциклопедії
Система типізації (англ. type system) в програмуванні визначає множину припустимих значень даних та множину операцій над даними. Тип даних означає множину значень, які мають певне спільне значення або спосіб застосування (хоча, деякі типи, такі як абстрактні або функційні типи, можуть і не представляти значень у програмі). Системи типізації різних мов програмування істотно різняться одна від одної. Найістотніші відмінності полягають у реалізаціях компіляції та поведінки під час виконання програми.
Присвоєння типу даних (типізація) надає значення набору бітів.
Зазвичай типи надаються або значенням у пам'яті, або об'єктам, таким, як змінні. Оскільки будь-яке значення в комп'ютері складається з множини бітів, апаратне забезпечення не розрізняє навіть адресу, коди операцій, символьні дані, цілі числа. Типи вказують програмам та програмістам на те, як слід обробляти дані.
Системи типізації виконують такі функції:
Процес верифікації та впровадження обмежень типів даних — перевіряння типів — може відбуватися під час компіляції (статична типізація) або під час виконання програми (динамічна типізація). Якщо мова програмування вимагає точного зіставлення типів даних (тобто, дозволяючи лише такі операції автоматичного приведення типів, які не призводять до втрати інформації), така мова програмування має сильну типізацію, в іншому разі — слабку.
Статична типізація — механізм, що дозволяє на етапі написання програми визначити через тип об'єкта програми множину припустимих значень та множину операцій над об'єктом так, що порушення вимог типізації призводитиме до попередження або помилки на етапі трансляції програми, а не на етапі її виконання. Тип об'єкта, встановлений під час написання програми, не може бути змінений на етапі виконання програми, але значення, яке містить об'єкт, може бути перетворене (приведене) до іншого типу.
Механізм широко використовується в окремих мовах програмування (званих як мови зі статичною типізацією) і дозволяє зменшити число помилок під час написання програми, але також вимагає явного перетворення типу в разі потреби. Приклади статично типізованих мов — Ada, С++, Pascal.
Мову програмування називають динамічно типізованою, коли основна частина перевірок типів виконується під час виконання програми, а не під час компіляції. У динамічній типізації, значення мають типи, а змінні — ні, тому змінна може містити значення будь-якого типу. До динамічно типізованих мов входять: APL, Erlang, Groovy, JavaScript, LISP, Lua, MATLAB/GNU Octave, Perl (для користувацьких типів, але не для вбудованих типів), PHP, Пролог, Python, Ruby, Smalltalk, Clojure та Tcl.
В окремих мовах зі статичною типізацією може мати місце таке:
3 + 4 = 7 (цілі числа) "3" + "4" = "34" (рядки) 3 + "4" -> невідповідність типів операндів операції, помилка
В окремих мовах з динамічною типізацією може мати місце таке:
3 + 4 -> 7 або 34 залежно від змісту
Це незавершена стаття про інформаційні технології. Ви можете допомогти проєкту, виправивши або дописавши її. |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.