Обробка даних
Будь-яка мова програмування працює з інформацією, якої потрібно якимось чином маніпулювати, перевіряти коректність, змінювати. Дані можуть бути самими різноманітними – числами, рядками або складними структурами. Зрозуміло, що з кожним типом необхідно працювати по-різному, але щоб визначити, як саме, спочатку необхідно зрозуміти, з якими саме даними ЕОМ має справу.
На основі методу визначення різновиди даних побудована класифікація мов програмування за системою типів.
- Нетипизированные мови.
- Типізовані мови різного ступеня строгості.
Нетипізованими є мови асемблера, які здатні обробляти безпосередньо двійкові дані. Тип даних при цьому не має ніякого значення.
Для типізованих мов важливо, з якою різновидом даних вони працюють. Деякі операції визначені тільки для чисел, наприклад поділ, інші – тільки для рядків. При цьому деякі системи дозволяють програмісту певні вольності. Наприклад, вони можуть самостійно визначати і “неявні” конвертувати один тип даних в інший, виходячи з семантики команди. Це дуже зручно, але ускладнює налагодження, так як може призвести до непомітною помилку. Яскравим прикладом строгою типізацією є JavaScript.
Строго типізовані мови, наприклад, Java, такої свободи не допускають і вимагають вказівки типів і їх явної конверсії, якщо вона необхідна.
Існує також класифікація мов програмування високого рівня з моменту перевірки типів даних:
- статичні мови зазвичай є компилируемыми. Перевірка типів відбувається при аналізі програми перед її трансляцією на машинну мову.
- динамічні мови перевіряють типи даних при виконанні.