3.6 Скриптовые языки программирования
Скриптовый язык (англ. scripting language, также называют язык сценариев) – язык программирования, разработанный для записи «сценариев», последовательностей операций, которые пользователь может выполнять на компьютере. Простые скриптовые языки раньше часто называли языками пакетной обработки (batch languages или job control languages). Сценарии всегда интерпретируются, а не компилируются.
Сценарий (скрипт) – это программа, которая автоматизирует некоторую задачу, которую без сценария пользователь делал бы вручную, используя интерфейс программы.
Поскольку сценарии интерпретируются из исходного кода динамически при каждом исполнении, они выполняются обычно значительно медленнее готовых программ, оттранслированных в машинный код на этапе компиляции. Поэтому сценарные языки не применяются для написания программ, требующих оптимальности и быстроты исполнения. Но из-за простоты они часто применяются для написания небольших, одноразовых («проблемных») программ. Также, в плане быстродействия скриптовые языки можно разделить на языки динамического разбора (sh, command.com) и предварительно компилируемые (Perl).
Языки динамического разбора считывают инструкции из файла программы минимально требующимися блоками, и исполняют эти блоки, не читая дальнейший код.
Предкомпилируемые языки вначале считывают всю программу, компилируют её всю либо в машинный код, либо в какой-то внутренний формат, и лишь затем – исполняют получившийся код.
Для создания пользовательских расширений язык сценариев удобен в ряде случаев:
безопасность. Скриптовый язык обеспечивает программируемость без риска дестабилизации системы. Скрипты не компилируются, а интерпретируются. Поэтому неправильно написанная программа выведет диагностическое сообщение, не вызывая падение системы;
наглядность. Язык сценариев используется, если необходим выразительный код. Концепция программирования в скриптовом языке может кардинально отличаться от основной программы;
простота. Код имеет собственный набор программ, поэтому одна строка может выполнять те же операции, что и десятки строк на обычном языке. Поэтому для написания кодов не требуется программист высокой квалификации;
кроссбраузерность. Скриптовые языки ориентированы на кроссбраузерность. Например, JavaScript может исполняться браузерами практически под всеми современными операционными системами.
Выделяют следующие типы скриптовых языков:
универсальные: Forth, AngelScript, Perl, PHP, Python, Tcl (Tool command language), Squirrel, REBOL, Ruby, AutoIt, Lua;
встроенные в прикладные программы: VBA, UnrealScript, AutoLISP, Emacs Lisp, Game Maker Language, MQL4 script, ERM;
командные оболочки: sh, AppleScript, bash, csh, ksh, JCL, cmd.exe, command.com, REXX, Visual Basic Script;
встраиваемые: Guile, Script.NET, ActionScript, Lingo (используется в редакторе Director), Sleep, браузерные Jscript и JavaScript.
Некоторые приложения имеют встроенную возможность расширения сценариями, написанными на любом универсальном скриптовом языке, например, автоматический планировщик задач или библиотека SWIG.
К скриптам также относят многие консольные утилиты, которые поддерживают выполнение записанной в файл последовательности команд.
Контрольные вопросы
Как классифицируются компьютерные сети?
Что представляет собой семиуровневая модель структуры протоколов связи?
Какие существуют основные протоколы сети Интернет?
Как происходит адресация в сети Интернет?
Какие распространенные сервисы сети Интернет?
Какие области охватывает разработчик Web-дизайна сайта?
Какие инструменты существуют для разработки Web-сайта?
Для чего предназначены языки HTML и XML?
Что содержит структура HTML-документа
Для чего предназначены скриптовые языки программирования?
- Основы информационных технологий
- Оглавление
- Предисловие
- Современные информационные технологии
- 1.1 История, современное состояние и перспективы развития вычислительной техники
- 1.2 Элементная база, архитектура, сетевая компоновка, производительность
- 1.3 Понятие информации. Классификация и виды информационных технологий
- Основные свойства информационных технологий.
- 1 .4 Операционные системы
- 2 Основные программные средства информационных технологий
- 2.1. Программное обеспечение. Текстовые редакторы, их возможности и назначение
- 2.2. Графические редакторы
- 2.3. Электронные таблицы
- 2.4. Сервисные инструментальные программные средства
- 2.5. Системы математических вычислений MatLab
- 2.6 Система подготовки презентаций
- 3 Сетевые технологии и интернет
- 3.1 Классификация компьютерных сетей
- 3.2 Семиуровневая модель структуры протоколов связи
- 2.3. Взаимодействие компьютеров в сети
- 3.3 Организационная структура Internet
- 3.4 Инструментальные средства создания web-сайтов. Основы web-дизайна
- 3.5 Языки разметки гипертекста html и xml
- 3.6 Скриптовые языки программирования
- 4 Системы управления базами данных
- 4.1. Классификация систем управления базами данных
- 4.2 Модели данных
- 4.3 Моделирование баз данных
- 4.4 Архитектура и функциональные возможности субд. Языковые и программные средства субд
- 4.5 Общая характеристика субд ms Access
- 4.6 Основные объекты ms Access
- 4.7 Основы языка sql
- Контрольные вопросы
- 5 Защита информации при использовании информационных технологий
- 5.1 Основы информационной безопасности
- 5.2. Методы и средства защиты информации
- 5.3 Защита от несанкционированного доступа к данным
- 5.4 Классы безопасности компьютерных систем
- 5.5 Основные аспекты построения системы информационной безопасности
- 6 Математическое моделирование и численные методы
- 6.1 Математические модели и численные методы решения задач в различных предметных областях
- 6.2 Численное дифференцирование и интегрирование
- 6.2.1 Особенность задачи численного дифференцирования
- 6.2.2 Интерполяционная формула Лагранжа для равноотстоящих узлов
- 6.2.3 Численное дифференцирование на основе интерполяционной формулы Лагранжа
- 6.2.4 Численное дифференцирование на основе интерполяционной формулы Ньютона
- 6.2.5 Постановка задачи численного интегрирования
- 6.2.6 Квадратурные формулы Ньютона-Котеса
- 6.2.7 Формула трапеций
- 6.2.8 Формула Симпсона
- 6.2.9 Оценка точности квадратурных формул
- 6.3 Методы решения обыкновенных дифференциальных уравнений
- 6.3.1 Задача Коши и краевая задача
- 6.3.1.1 Классификация уравнений
- 6.3.1.2 Задача Коши
- 6.3.2 Одношаговые методы решения задачи Коши
- 6.3.2.1 Метод Эйлера
- 6.3.2.2 Модифицированный метод Эйлера
- 6.3.2.3 Метод Рунге-Кутта четвертого порядка
- 6.3.2.4 Погрешность решения и выбор шага
- 6.3.3 Многошаговые методы решения задачи Коши
- 6.3.3.1 Многошаговые методы
- 6.3.3.2 Метод Адамса
- 6.3.3.3 Методы прогноза и коррекции (предиктор-корректор)
- 6.3.3.4 Общая характеристика многошаговых методов
- 6.3.4 Краевая задача и метод стрельбы
- 6.3.4.1 Краевая задача
- 6.3.4.2 Метод стрельбы
- 6.3.4.3 Метод стрельбы для линейного дифференциального уравнения
- 6.4 Решение дифференциальных уравнений в чстных производных
- 6.4.1 Краткие теоретические сведения
- 6.4.2 Классификация уравнений по математической форме
- 6.4.3 Основы метода конечных разностей
- 6.4.3.1 Построение сетки
- 6.4.3.2 Аппроксимация уравнения эллиптического типа
- 6.4.3.3 Аппроксимация уравнения гиперболического типа
- 6.4.3.4 Аппроксимация уравнения параболического типа
- 6.4.3.5 Погрешность решения
- 6.4.4 Основы метода конечных элементов
- 6.4.4.1. Формирование сетки
- 6.4.4.2 Конечно-элементная аппроксимация
- 6.4.4.3 Построение решения
- 6.6 Элементы математической статистики
- 6.6.1 Генеральная совокупность. Выборка. Статистические ряды
- 6.6.2 Графическое изображение вариационных рядов. Эмпирическое распределение
- 6.6.3 Средние величины и показатели вариации
- 6.6.4 Средняя арифметическая и ее свойства
- 6.6.5 Дисперсия и ее свойства. Среднее квадратическое отклонение
- 6.6.6 Коэффициент вариации
- 6.6.7 Структурные средние
- 6.6.8 Законы распределения случайных величин
- 6.6.9 Статистические гипотезы
- 7 Методы оптимизации и системы поддержки принятия решений
- 7.1 Характеристика методов решения задач оптимизации
- 7.1.1 Численные методы безусловной оптимизации нулевого порядка
- 7.1.1.1 Основные определения
- 7.1.1.2 Классификация методов
- 7.1.1.3 Общая характеристика методов нулевого порядка
- 7.1.1.4 Метод прямого поиска (метод Хука-Дживса)
- 7.1.1.5 Метод деформируемого многогранника (метод Нелдера—Мида)
- 7.1.1.6 Метод вращающихся координат (метод Розенброка)
- 7.1.1.7 Метод параллельных касательных (метод Пауэлла)
- 7.1.2 Численные методы безусловной оптимизации первого порядка
- 7.1.2.1 Минимизация функций многих переменных. Основные положения
- 7.1.2.2 Метод наискорейшего спуска
- 7.1.2.3 Метод сопряженных градиентов
- 7.1.3 Численные методы безусловной оптимизации второго порядка
- 7.1.3.1 Особенности методов второго порядка
- 7.1.3.2 Метод Ньютона
- 7.2 Линейное программирование
- 7.2.1 Транспортная задача линейного программирования
- 7.2.1.1 Постановка задачи
- 7.2.1.2 Венгерский метод
- 7.2.1.3 Метод потенциалов
- 7.3 Прямые методы условной оптимизации
- 7.3.1 Основные определения
- 7.3.2 Метод проекции градиента
- 7.3.3 Комплексный метод Бокса
- 7.4 Методы штрафных функций
- 7.4.1 Основные определения
- 7.4.2 Методы внутренних штрафных функций
- 7.4.3 Методы внешних штрафных функций
- 7.4.4 Комбинированные алгоритмы штрафных функций
- 7.5 Информационные технологии поддержки принятия решений
- 7.6 Информационные технологии экспертных систем Характеристика и назначение
- Список литературы