Динамічна мова програмування
Динамі́чна мо́ва дозволяє визначати типи даних і здійснювати синтаксичний аналіз та компіляцію «на льоту», безпосередньо на етапі виконання програми.
До динамічних мов відносяться: PHP, Ruby, JavaScript, Python, Lua.
Visual Basic можна розглядати як певний різновид динамічної мови, йому завжди були властиві деякі динамічні риси.
Типізація в динамічних мовах.
Основним, але не єдиним критерієм динамічної мови програмування є динамічна типізація.
У динамічно типізованих мовах не вимагається обов’язково вказувати значення оголошеної в коді змінної. Тобто нова змінна має бути оголошена, але не очевидно декларована і зв’язана з певним типом даних. Це дозволяє використовувати одну й ту ж саму змінну у різних ділянках програми, де вона може приймати значення різних типів.
Статично типізовані мови, в свою чергу, обмежують типи змінних: якщо в коді була оголошена змінна із присвоєним значенням, скажімо, «42» (числовий тип даних), то пізніше в коді не вдасться змінити значення цієї змінної на «true» (логічний тип даних). Компілятор відмовиться компілювати подібний код і ви не зможете його навіть запустити.
Переваги та недоліки.
Вважається, що динамічні мови програмування зручніші для швидкої розробки застосунків.
Код в даному випадку виходить більш компактний, оскільки в ньому, наприклад, відсутня необхідність обов’язкової декларації типів змінних.
Прихильники статично типізованих мов вважають, що відсутність чіткої системи типів може призводити до проблем в кінцевій програмі через прості помилки.
Однак, все залежить від можливостей обраної мови та задачі, яку необхідно вирішити з її допомогою.