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

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

Динам??чна мо?ва дозволя? визначати типи даних ? зд?йснювати синтаксичний анал?з та комп?ляц?ю ≪на льоту≫, безпосередньо на етап? виконання програми.

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

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

Тип?зац?я в динам?чних мовах

[ ред. | ред. код ]

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

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

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

Переваги та недол?ки

[ ред. | ред. код ]

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

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

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

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