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