====== Скриптовый язык программирования ====== Язык программирования, предназначенный для изменения или расширения логики уже написанной и скомпилированной программы. Разница между скриптом и обычной программой заключается в способе выполнения. Обычная программа, как правило, преобразуется в вид, пригодный для исполнения на физической машине, а скрипт - это текст, который исполняется программой-интерпретатором. Таким образом, скриптовая система является [[виртуальная машина|виртуальной машиной]]. Зачастую перед запуском текст скрипта транслируется в байт-код или другое низкоуровневое представление для повышения эффективности виртуальной машины. Существуют также JIT-компиляторы, которые компилируют скрипты в машинный код на лету, что несколько размывает разницу между скриптами и программами, но не отменяет наличия [[рантайм|рантайм-среды]], необходимой для работы такого кода. Все скриптовые языки можно условно отнести к следующим категориям: * **Командно-сценарные** - являются компонентом ОС, предназначены для автоматизации системных и пользовательских операций - установки и конфигурирования ПО, пакетной обработки файлов и т.д. Например, Bash и PowerShell; * **Общего назначения** - универсальные высокоуровневые языки, пригодные для написания любых прикладных программ, например, Python, Ruby, Perl, Java; * **Встраиваемые** - встроены в программу и предназначены для управления ее логикой. Например, ECMAScript/JavaScript, Lua.