Скриптовый язык

Скриптовый язык

Скри́птовый язы́к (англ. scripting language, в русской литературе принято название язык сценариев) — язык программирования, разработанный для записи «сценариев», последовательностей операций, которые пользователь может выполнять на компьютере. Простые скриптовые языки раньше часто называли языками пакетной обработки (batch languages или job control languages). Сценарии обычно интерпретируются, а не компилируются (хотя всё чаще применяют компиляцию каждый раз перед запуском).

В прикладной программе, сценарий (скрипт) — это программа, которая автоматизирует некоторую задачу, которую без сценария пользователь делал бы вручную, используя интерфейс программы.

Содержание

Плагины или скрипты?

Для написания пользовательских расширений могут использоваться как скрипты (в терминологии некоторых программ «макросы»), так и плагины (независимые модули, написанные на компилируемых языках; в некоторых программах они могут называться «утилитами», «экспортёрами», «драйверами»).

Скриптовый язык удобен в следующих случаях:

  1. Если нужно обеспечить программируемость без риска дестабилизировать систему. Так как, в отличие от плагинов, скрипты интерпретируются, а не компилируются, неправильно написанный скрипт выведет диагностическое сообщение, а не приведёт к системному краху;
  2. Если важен выразительный код. Во-первых, чем сложнее система, тем больше кода приходится писать «потому, что это нужно» — см., например, Hello World#Маргинальные примеры. Во-вторых, в скриптовом языке может быть совсем другая концепция программирования, чем в основной программе — например, игра может быть монолитным однопоточным приложением, в то время как управляющие персонажами скрипты выполняются параллельно. В-третьих, скриптовый язык имеет собственный проблемно-ориентированный набор команд, и одна строка скрипта может делать то же, что несколько десятков строк на традиционном языке. Как следствие, на скриптовом языке может писать программист очень низкой квалификации — например, геймдизайнер своими руками, не полагаясь на программистов, может корректировать правила игры;
  3. Если требуется кроссплатформенность. Хорошим примером является JavaScript — его исполняют браузеры под самыми разными ОС.

У плагинов же есть три важных преимущества.

  1. Готовые программы, оттранслированные в машинный код, выполняются значительно быстрее скриптов, которые интерпретируются из исходного кода динамически при каждом исполнении. Поэтому скриптовые языки не применяются для написания программ, требующих оптимальности и быстроты исполнения. Но из-за простоты они часто применяются для написания небольших, одноразовых («проблемных») программ.
  2. Полный доступ к любому аппаратному обеспечению или ресурсу ОС (в скриптовом языке для этого должен существовать написанный на машинном коде API). Плагины, работающие с аппаратным обеспечением, традиционно называют драйверами.
  3. Если предполагается интенсивный обмен данными между основной программой и пользовательским расширением, для плагина его обеспечить проще.

Также в плане быстродействия скриптовые языки можно разделить на языки динамического разбора (sh, command.com) и предварительно компилируемые (Perl). Языки динамического разбора считывают инструкции из файла программы минимально требующимися блоками, и исполняют эти блоки, не читая дальнейший код. Предкомпилируемые языки транслируют всю программу в байт-код и затем исполняют его. Некоторые скриптовые языки имеют возможность компиляции программы «на лету» в машинный код (т. н. JIT-компиляция).

Типы скриптовых языков

Универсальные скриптовые языки

Встроенные в прикладные программы

Командные оболочки

Встраиваемые

  • ActionScript - В средах Adobe Flash, Adobe AIR, Adobe Flex
  • Браузерные языки: JavaScript, JScript
  • Lingo — использующийся в редакторе Director, называют скриптовым
  • Guile
  • Io
  • Lua
  • Sleep
  • Script.NET

Также в приложение может быть встроена возможность расширения сценариями на любом из универсальных скриптовых языков, см. к примеру библиотеку SWIG или автоматический планировщик задач.

Командные файлы интерпретаторов

Многие консольные утилиты поддерживают выполнение последовательности команд, заранее записанной в файл. Такие файлы тоже называют скриптами.

Примеры таких утилит:

  • SQLPlus — выполняет команды SQL и PL/SQL в СУБД Oracle

Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "Скриптовый язык" в других словарях:

  • СКРИПТОВЫЙ ЯЗЫК — Язык программирования, разработанный для записи сценариев , последовательностей операций, которые пользователь может выполнять на компьютере (англ. scripting language, в русскоязычной литературе принято название язык сценариев) Словарь бизнес… …   Словарь бизнес-терминов

  • ЯЗЫК СЦЕНАРИЕВ — См. СКРИПТОВЫЙ ЯЗЫК Словарь бизнес терминов. Академик.ру. 2001 …   Словарь бизнес-терминов

  • Язык сценариев — Скриптовый язык (англ. scripting language, в русскоязычной литературе принято название язык сценариев)  язык программирования, разработанный для записи «сценариев», последовательностей операций, которые пользователь может выполнять на компьютере …   Википедия

  • Язык программирования Рубин — Ruby Семантика: мультипарадигмальный Тип исполнения: интерпретатор Появился в: 1995 г. Автор(ы): Юкихиро Мацумото Последняя версия: 1.9.1 …   Википедия

  • Сценарный язык — Сюда перенаправляется запрос «скрипт». На эту тему нужна отдельная статья. Сценарный язык или скриптовый язык (англ. scripting language, в русской литературе принято название язык сценариев)  высокоуровневый язык программирования для… …   Википедия

  • Компьютерный язык — Понятие компьютерный язык (калька с англ. computer language), как правило, относится к языкам, ассоциируемым с компьютерной техникой. Чаще всего, этот термин соответствует понятию языка программирования, однако это соответствие не является… …   Википедия

  • Рубин (язык программирования) — Ruby Семантика: мультипарадигмальный Тип исполнения: интерпретатор Появился в: 1995 г. Автор(ы): Юкихиро Мацумото Последняя версия: 1.9.1 …   Википедия

  • Icon (язык программирования) — У этого термина существуют и другие значения, см. Icon (значения). Icon Семантика: мультипарадигменный: императивный, логический …   Википедия

  • Парсер (язык программирования) — Parser Семантика: мультипарадигменный Тип исполнения: Интерпретатор компилирующего типа Появился в: 1997 г. Автор(ы): Александр Петросян Типизация данных …   Википедия

  • TEA (язык программирования) — У этого термина существуют и другие значения, см. TEA (значения). TEA  скриптовый язык программирования работающий в Java среде (англ.). Сочетает возможности языков Scheme, Tcl и Java. Интерпретатор TEA не является свободным ПО.… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»