Сценарный язык

Язык сценариев или скриптовый язык - это язык программирования, который поддерживает скрипты. Сценарии обычно представляют собой короткие компьютерные программы, которые делают шаги, которые человек может выполнять по очереди. Это автоматизирует работу, чтобы сделать ее легче и надежнее. Язык сценариев часто является более простым языком, и его легче выучить, чем другие языки, но все же он может делать много вещей.

Скрипты могут выполняться внутри другой программы, например, в веб-браузере или Microsoft Excel. Они также могут быть оболочкой, которая запускается из интерфейса командной строки и делает вызовы операционной системе (ОС). Оболочка считается интерактивной - пользователь может выбирать, что ему набрать, а оболочка отвечает на команду. Их можно использовать для управления заданиями на мейнфреймах и серверах.

Некоторые люди говорят, что язык сценариев должен быть привязан к конкретному использованию. Другие используют более широкое определение и включают языки программирования общего назначения, которые интерпретируются, а не компилируются. Язык общего назначения означает, что его можно использовать по-разному. Некоторые языки общего назначения (такие как Java) имеют вариации, которые могут быть скомпилированы (Javascript). Нет конкретного правила о том, что является или не является языком программирования скриптов.

Примеры

Некоторые распространенные примеры скриптовых языков:

  • Оболочка Bash и C, как языки управления для Unix или Unix-подобных операционных систем
  • Скрипты, которые выполняются внутри других приложений, называются языками расширений. Веб-браузеры позволяют использовать несколько видов скриптов, в том числе ECMAScript (JavaScript) или XUL. Например, домашняя страница Google использует JavaScript. Visual Basic для приложений используется внутри Microsoft Office. Lua - это язык, специально созданный в качестве языка расширений, и может использоваться во многих приложениях.
  • Игры, которые имеют скриптовые расширения, включают в себя виртуальный мир Second Life и железнодорожные симуляторы Trainz Railroad. В других играх, таких как Wesnoth, разнообразие реальных игр - это скрипты, написанные другими пользователями.
  • Языки обработки текста sed и AWK
  • Общее назначение: Perl, Tcl и Python являются языками программирования высокого уровня (ближе к человеческому языку, чем к машинному), которые могут быть использованы для множества различных вещей. Некоторые из этих языков сначала были сделаны для конкретного использования, а затем были заменены на языки общего назначения.

Характеристики

Большинство скриптовых языков сделаны так, чтобы их было легко изучать. Часто они могут быть как короткими файлами с исходным кодом, так и вводимыми по одной команде за раз в интерфейсе командной строки, имеющем цикл чтения-печати (REPL, языковая оболочка). Обычно это означает простой набор команд. Может не быть функций или основной, она просто выполняется от начала до конца. Если что-то не работает, программист может быстро внести изменения и запустить его снова. Это делает скриптовый язык хорошим инструментом для создания быстрого прототипа, чтобы увидеть, работает ли идея.

Например, большинство людей не называют Java скриптовым языком из-за его длинного синтаксиса и правил о том, какие классы существуют в каких файлах, а также потому, что Java не может быть выполнена интерактивно в REPL. Ей нужны файлы с исходным кодом, и они могут содержать только определения, которые должны использоваться хост-приложением или запускателем приложений. (Java - это не то же самое, что JavaScript).

Но Python позволяет выбирать - функции можно помещать в файл, можно запускать без функций и использовать императивный стиль программирования, или даже использовать его интерактивно (набирать и запускать по одной строке за раз).

Печать ("Hello World")

Эта одна строка кода на Python печатает "Hello World"; не нужна ни функция main(), ни что-либо другое.

Скриптовый язык обычно интерпретируется из исходного кода или байткода. Однако, что-то должно запустить скрипт (интерпретировать его), чтобы компьютер его понял. Это приложение или что-то в операционной системе. Часто оно написано на скомпилированном языке и распространяется в виде машинного кода (как исполняемый файл, который не имеет смысла для человека).

Языки сценариев могут быть предназначены для использования людьми, использующими программу - разработку для конечных пользователей. В других случаях они могут быть собраны программистами для собственных нужд. Языки сценариев часто используют абстракцию, форму сокрытия информации. Это означает, что пользователям не нужно знать подробности типов переменных, хранения данных и управления памятью.

Сценарии часто создаются или изменяются человеком, выполняющим их, но некоторые из них делятся или продаются другим. Например, когда большая часть игр написана на языке сценариев. Иногда сценарий может быть скомпилирован до того, как другие его используют. После компиляции он будет работать быстрее и не нуждается в другом приложении для его запуска. А это не позволяет конечным пользователям изменять код.

История

Ранние мейнфреймы (в 1950-х годах) не были интерактивными, а использовали скрипты, хранящиеся в пакетных файлах. IBM Job Control Language (JCL) является распространенным примером языка сценариев, используемого для управления пакетной обработкой.

Первые интерактивные оболочки были сделаны в 1960-х годах для помощи в удаленной работе первых систем совместного использования времени. В них использовались скрипты оболочек, которые могли запускать компьютерные программы внутри компьютерной программы, оболочки. Кэлвин Мурз в своем TRAC языке, как правило, приписывают заслугу изобретению подстановки команд. Это позволяет командам изменять скрипт (самоизменяющийся код). Мультифункциональность вызывает эти активные функции. Луи Пузин написал ранний процессор для командных скриптов RUNCOM для CTSS примерно в 1964 году. Стюарт Мэдник (Stuart Madnick) из MIT написал скриптовый язык для IBM CP/CMS в 1966 году. Первоначально он называл этот процессор COMMAND, позднее EXEC. Мультифункциональность включала в себя ответвление CTSS RUNCOM, также называемое RUNCOM. В конечном итоге EXEC был заменен на EXEC 2 и REXX.

Языки, такие как Tcl и Lua были сделаны с самого начала, чтобы быть универсальными скриптовыми языками, которые могут быть помещены в любое приложение. Другие языки, такие как Visual Basic for Applications (VBA), могли делать многое из того же, но должны были работать только с определенными приложениями. Использование языка сценариев общего назначения вместо того, чтобы делать новый язык для каждого приложения, обычно облегчает работу как для человека, который пишет приложение, так и для пользователя, который пишет сценарии.

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

Языки клея

Иногда для подключения различных приложений используется скриптинг. Это называется клеевым кодом, а язык, созданный именно для этой цели, является языком клея. Трубопроводы и скриптинг оболочки являются распространенными примерами языков клея. Но если в файле скрипта написано много логики, то лучше думать о нем как о простом другом программном приложении, а не как о "клее".

Языки клея особенно полезны при письме и обслуживании:

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

Примеры языка клея:

  • AppleScript
  • awk
  • JCL
  • Луа
  • m4
  • Perl
  • Скрипты Unix Shell (ksh, csh, bash, sh и др.)
  • VBScript
  • Язык рабочего потока
  • Windows PowerShell
  • XSLT

Такие устройства, как программируемые калькуляторы, также могут иметь свои собственные языки клея. Например, Texas Instruments TI-92, по умолчанию на заводе-изготовителе, может быть запрограммирован с помощью языка командных сценариев. Калькулятор TI-NSpire понимает язык Lua. Другие понимают какой-нибудь базовый язык, или, может быть, Lisp, или что-нибудь еще.

Языки и оболочки управления работой

Эта группа пришла из автоматизации управления заданиями, которая связана с запуском и управлением поведением системных программ, начиная с IBM's JCL. Интерпретаторы многих из этих языков также работают в качестве интерпретаторов командной строки, таких как оболочка Unix или MS-DOS COMMAND.COM. Другие, такие как AppleScript, предлагают использование англоподобных команд для построения скриптов.

скриптинг графического интерфейса

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

Языки приложений

Многие крупные приложения включают скриптовый язык, созданный специально для этого приложения. Приложение может быть игрой или деловой программой. Этот тип языка сделан для одного приложения. Они делают его похожим на язык общего назначения (например, QuakeC, смоделированный по образцу C), у них есть пользовательские функции, которые отличают их.

Расширяемые/встраиваемые языки

Это как язык сценариев для конкретных приложений, в том, что он управляет приложением, но язык может быть использован во многих приложениях.

JavaScript начинался как язык для написания скриптов внутри веб-браузеров; но теперь это язык общего назначения, встраиваемый в браузеры. Он также используется, например, в продуктах Adobe.

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

Вопросы и ответы

В: Что такое скриптовый язык?


О: Язык сценариев или скриптов - это язык программирования, который поддерживает сценарии.

В: Что такое скрипты?


О: Сценарии - это, как правило, короткие компьютерные программы, которые выполняют действия, которые человек мог бы делать по одному за раз.

В: Почему скрипты полезны?


О: Это автоматизирует работу, делая ее более простой и надежной.

В: Трудно ли выучить язык сценариев?


О: Язык сценариев часто является более простым языком, и его легче выучить, чем другие языки, но он все равно может делать много вещей.

В: Где могут выполняться скрипты?


О: Сценарии могут выполняться внутри другой программы, например, в веб-браузере или Microsoft Excel.

В: Что такое оболочка в скриптовых языках, и как она используется?


О: Это оболочка, которая запускается из интерфейса командной строки и выполняет вызовы операционной системы (ОС). Оболочка считается интерактивной - пользователь может выбирать, что набирать, а оболочка отвечает на команду. Их можно использовать для управления заданиями на мэйнфреймах и серверах.

В: Может ли язык общего назначения быть языком сценариев?


О: Некоторые люди говорят, что язык сценариев должен быть привязан к определенному использованию. Другие используют более широкое определение и включают в него языки программирования общего назначения, которые интерпретируются, а не компилируются. Язык общего назначения означает, что его можно использовать различными способами для разных вещей. Некоторые языки общего назначения (например, Java) имеют разновидности, которые могут быть написаны в виде сценариев. Не существует конкретного правила, что является или не является скриптовым языком.

AlegsaOnline.com - 2020 / 2023 - License CC3