Динамічна мова програмування

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Динамі́чна мо́ва дозволяє визначати типи даних і здійснювати синтаксичний аналіз та компіляцію «на льоту», безпосередньо на етапі виконання програми.

До динамічних мов відносяться: PHP, Ruby, JavaScript, Python, Lua.

Visual Basic можна розглядати як певний різновид динамічної мови, йому завжди були властиві деякі динамічні риси.

Типізація в динамічних мовах[ред. | ред. код]

Основним, але не єдиним критерієм динамічної мови програмування є динамічна типізація.

У динамічно типізованих мовах не вимагається обов’язково вказувати значення оголошеної в коді змінної. Тобто нова змінна має бути оголошена, але не очевидно декларована і зв’язана з певним типом даних. Це дозволяє використовувати одну й ту ж саму змінну у різних ділянках програми, де вона може приймати значення різних типів.

Статично типізовані мови, в свою чергу, обмежують типи змінних: якщо в коді була оголошена змінна із присвоєним значенням, скажімо, «42» (числовий тип даних), то пізніше в коді не вдасться змінити значення цієї змінної на «true» (логічний тип даних). Компілятор відмовиться компілювати подібний код і ви не зможете його навіть запустити.

Переваги та недоліки[ред. | ред. код]

Вважається, що динамічні мови програмування зручніші для швидкої розробки застосунків.

Код в даному випадку виходить більш компактний, оскільки в ньому, наприклад, відсутня необхідність обов’язкової декларації типів змінних.

Прихильники статично типізованих мов вважають, що відсутність чіткої системи типів може призводити до проблем в кінцевій програмі через прості помилки.

Однак, все залежить від можливостей обраної мови та задачі, яку необхідно вирішити з її допомогою.