Скрипт что это такое википедия

Скрипт что это такое википедия

В современном программировании в Сети скрипты (сценарии) – это отдельные последовательности действий, созданные для автоматического выполнения задачи. Если готового сценария нет, пользователь выполняет эти действия вручную с соответствующими затратами времени и возможностями появления ошибок. Для написания скриптов используются специальные языки программирования, которые так и называются – скриптовые. Соответственно, скриптовый язык программирования – это набор лексический, семантических и синтаксических правил для создания и редактирования скриптов. Корректно также синонимичное название «язык сценариев».

История развития скриптов

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

В 1995 году компания Netscape для своего популярного на тот момент браузера Netscape Navigator 2.0 предложила специальный язык под названием LiveScript. На то время возможности языка были очень скудными, и многие просто не понимали, что такое скрипт (script) в браузере. Тогда он мог проверять и обрабатывать те данные, которые пользователь оставлял на странице сайта через форму. Такая проверка давала возможность контролировать правильность введенных данных и избегать отправки формы без нужной информации. Вскоре название этого языка было изменено на JavaScript.

Через некоторое время известный конкурент Netscape – корпорация Microsoft – создал свою версию JavaScript. Несмотря на то что такой скриптовый язык программирования имел немного отличающиеся функции, он успешно прижился и получил собственное название JScript. Он начал использоваться в браузере Internet Explorer начиная с версии 3.0. Через некоторое время и другие браузеры стали поддерживать JavaScript.

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

Несмотря на жесткую конкуренцию, Microsoft и Netscape вместе с наиболее авторитетными разработчиками обеспечения для деятельности в Интернете трудились в организации W3C. В результате были подготовлены единые стандарты и рекомендации. Но все же языки JavaScript и JScript имеют определенные различия, что необходимо учитывать в работе.

Основные принципы скриптов

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

Скрипты имеют следующие цели:

  • SEO-скрипты (шаблоны) для продвижения сайтов. Обычно под их управлением работают специализированные программы автоматизации этого процесса. Наиболее известные – ZennoPoster, Human Emulator;
  • системы для сбора статистики посещений (счетчики посещаемости). Эти скрипты чаще всего создаются с применением JavaScript;
  • сценарии для обращения к базам данных. Здесь лидирует язык PHP;
  • скрипты для работы гостевых книг и создания комментариев к записям. Чаще всего применяется комбинация PHP и JavaScript;
  • скрипты для динамического отображения сайтов. В этом случае скриптовый язык определяется языком написания CMS;
  • скрипты для изменения части страницы сайта без ее перезагрузки. При реализации используются технологии Ajax. В этом случае на первый план выходят асинхронный JavaScript и XML. Веб-приложения производят обмен данных с сервером в «фоне», изменения на страницах сайта происходят без их полной перезагрузки. Пользователи обычно не замечают таких изменений, и им не нужно понимать, что такое скриптовый язык программирования, чтобы отлично взаимодействовать с сайтом.

Преимущества скриптов

  1. Их применение дает возможность вносить программные изменения без опасения разрушить всю систему. Если скрипт написан с ошибкой, то при его выполнении они будут выданы в результате. При этом сайт останется работоспособным.
  2. Использование скриптов дает возможность получать проблемно ориентированный набор команд. В этом случае одна строка сценария позволяет выполнять такой же объем действий, как программа из многих десятков строк на компилируемом языке. На этом примере наглядно видно, что такое сценарий в программировании и насколько его применение ускоряет решение задач.
  3. С использованием скриптов успешно реализуется кроссплатформенность выполнения задач. Отличным примером является JavaScript – одни и те же сценарии на этом языке без проблем выполняют браузеры в различных операционных системах.
Читайте также:  Пищалка на задний ход

Недостатки скриптов

  1. Заметно большее время исполнения. Практически во всех случаях интерпретируемые сценарии требуют для выполнения гораздо больше времени и компьютерных ресурсов.
  2. До сих пор для таких языков не создана качественная среда разработки уровня IDE.
  3. В продвижение и рекламу этих языков вкладываются недостаточные средства. Как это ни парадоксально, относительная доступность и условная бесплатность сценарных языков приводят к тому, что у разработчиков просто не хватает средств на маркетинг и рекламу. Поэтому для многих крупных денежных проектов выбираются Java или C#.

Типы скриптов

По степени быстродействия они подразделяются на языки динамического разбора (sh, COMMAND.COM) и требующие предварительной компиляции, такие как Perl. Также скриптовые языки разбиваются на несколько больших групп по применению.

  • командно-сценарные (JCL, sh, bash, csh, ksh, AppleScript, COMMAND.COM и cmd.exe, VBScript);
  • прикладные (AutoLISP, JScript, JavaScript, ActionScript, Game Maker Language, VBA и др.);
  • универсальные сценарные (Tcl, Lua, Perl, PHP, Python, REBOL, Ruby).

Примеры скриптовых языков

Наиболее известные: PHP, Perl, Python, AngelScript, JavaScript, JScript и другие. Все они являются высокоуровневыми. По своему механизму действия скриптовые языки обычно интерпретируются, а не компилируются.

Роль скриптов в продвижении

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

И таких решений множество.

Отдельно стоит отметить технологии создания скриптов, имитирующих с помощью специальных программ действия пользователей в различных направлениях. Такие скрипты и шаблоны формируются на основе программ ZennoPoster, Human Emulator и их аналогов.

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

В качестве примера можно рассмотреть шаблоны, позволяющие в автоматизированном режиме выполнять множество действий по продвижению сайтов и товаров в социальной сети «ВКонтакте». Другие шаблоны обеспечивают размещение объявлений или иной информации в Сети. Третьи в автоматизированном режиме могут генерировать множество блогов и страниц, на которых размещаются ссылки или коммерческая информация. Пользователи, которые видят результаты таких действий, обычно не знают, что это заскриптованный алгоритм размещает информацию для них в соцмедиа.

Во многих случаях для продвижения сайтов необходимо множество аккаунтов почты. В качестве примера можно рассмотреть почтовый сервис mail.ru. Автоматизированный шаблон для программы ZennoPoster легко справляется с этой задачей. При этом скрипт не просто заходит на страницу регистрации, но также самостоятельно выполняет работу по разгадыванию капчи, определяет возможный бан IP-адреса и выполняет много других действий.

Использование языка JavaScript в контекстной рекламе

Еще в 2012 году рекламная система Google AdWords внесла в свой интерфейс возможности использования скриптов для автоматизации управления рекламной кампанией. Такой способ управления работает значительно быстрее, чем использование API. К тому же он не требует применения сложных языков программирования. Задачи на основе скриптов запускаются по расписанию. Они обеспечивают регулярную проверку аккаунта, дают возможность анализировать статистику рекламы и вносить любые заданные изменения. При этом можно в автоматизированном режиме отслеживать качество рекламных объявлений, отключать неэффективные каналы рекламы и подключать эффективные.

Словарь бизнес-терминов. Академик.ру . 2001 .

Смотреть что такое "СКРИПТ" в других словарях:

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

Читайте также:  Ремонт часового механизма настенных часов своими руками

скрипт — 1 іменник чоловічого роду рукопис арх. скрипт 2 іменник чоловічого роду докладний опис процедури, сценарій техн … Орфографічний словник української мови

скрипт — см. анализ трансакционный. Словарь практического психолога. М.: АСТ, Харвест. С. Ю. Головин. 1998. скрипт … Большая психологическая энциклопедия

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

СКРИПТ-ГЁРЛ — [англ. scriptgirl] арго секретарша режиссера (на киностудии). Словарь иностранных слов. Комлев Н.Г., 2006 … Словарь иностранных слов русского языка

скрипт — сценарий Небольшая служебная программа или макрос, используемые при определенных обстоятельствах. Программа, написанная на каком либо языке программирования для взаимодействия клиента с сервером. Например: Script на Perl для подсчета количества… … Справочник технического переводчика

скрипт — Скрипт: посвідка, рукопис [46 1] розписка, вексель [47] рукопис [49;50,IV,VI,XX] Та про се прошу Вас не забувати 1) про дальший скрипт Клоустона, 2) про дальший скрипт Фірдоусі [XX] рукопис, письмо, посвідка, зобов язання [44 1] рукопис, текст… … Толковый украинский словарь

скрипт — шкрыпт (скрипт), шкрипт рукопис, писання … Зведений словник застарілих та маловживаних слів

Скрипт — … Википедия

скрипт — (лк) scrībere писать; scrīptio писание скрипторий ист. помещение в монастыре, где переписывались книги манускрипт рукопись постскриптум «после написанного», добавление к письму транскрипция «переписывание», передача на письме звучания слов, а… … Анатомия терминов. 400 словообразовательных элементов из латыни и греческого

Сценарный язык (язык сценариев, жарг. скриптовый язык; англ. scripting language ) — высокоуровневый язык сценариев (англ. script ) — кратких описаний действий, выполняемых системой. Разница между программами и сценариями довольно размыта. Сценарий — это программа, имеющая дело с готовыми программными компонентами [1] .

Согласно Джону Устерхауту, автору языка Tcl, высокоуровневые языки можно разделить на языки системного программирования (англ. system programming languages ) и сценарные языки (англ. scripting languages ). Последние он также назвал склеивающими языками (англ. glue languages ) или языками системной интеграции (англ. system integration languages ). Сценарии обычно интерпретируются, а не компилируются [2] , хотя сценарные языки программирования один за другим обзаводятся JIT-компиляторами [3] [4] [5] .

В более узком смысле под скриптовым языком может пониматься специализированный язык для расширения возможностей командной оболочки или текстового редактора и средств администрирования операционных систем [6] .

Содержание

Классификация

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

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

По применению языки можно грубо разделить на три типа [7] :

  • командно-сценарные;
  • прикладные сценарные;
  • универсальные сценарные.

Командно-сценарные языки

Появились ещё в 1960-х годах для управления заданиями в операционных системах. Из языков того времени наиболее известен JCL для OS/360. В этот класс входят языки пакетной обработки (англ. batch language ) и языки командных оболочек, например sh, csh для Unix. Эти языки чаще всего используются в пакетном режиме обработки [7] .

Например, язык AppleScript операционной системы MacOS имеет редактор Script Editor, который позволяет записывать действия по мере их выполнения пользователем в системе в файл сценария (текстовый файл) и оформлять в виде исполняемой программы. Такой подход позволяет составлять простейшие сценарии непрограммирующим пользователем [8] .

Встроенные (прикладные сценарные) языки

Сценарные языки этого типа начали появляться в 1980-е годы, когда на промышленных персональных компьютерах стало возможным интерактивное общение с ОС. В клиент-серверной архитектуре такие языки работали в клиентской части программного обеспечения [7] .

Читайте также:  Узнать от кого письмо по идентификатору

Языки общего назначения

Этот тип сценарных языков наиболее известен (особенно в применении к веб-программированию). Языки этого типа стали возникать с 1990-х годов [7] .

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

Критика

Создатель Java Джеймс Гослинг отвёл динамическим языкам программирования (упомянув PHP и Ruby) роль сценарных языков, генерирующих веб-страницы, но непригодных для применения в более широкой нише приложений из-за проблем с масштабируемостью и производительностью [9] . Приверженцы динамических языков не оставили критику без ответа по всем пунктам, в частности о его старании представить современные динамические языки всего лишь «сценарными» [10] .

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

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

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

  • Если нужно обеспечить программируемость без риска дестабилизировать систему. Так как, в отличие от плагинов, скрипты интерпретируются, а не компилируются, неправильно написанный скрипт выведет диагностическое сообщение, а не приведёт к системному краху. Контрпримером могут служить, например, JVM и CLR, причём если первая была разработана из соображений переносимости кода (безопасность — побочный эффект), то вторая — именно из соображений безопасности.
  • Если важен выразительный код.
  • Во-первых, чем сложнее система, тем больше кода приходится писать «потому, что это нужно». Впрочем, написание кода «потому, что это нужно» считается крайне плохой практикой (начиная с процедурного программирования), оправданной лишь при построчной оплате труда.
  • Во-вторых, в скриптовом языке может быть совсем другая концепция программирования, чем в основной программе — например, игра может быть монолитным однопоточным приложением, в то время как управляющие персонажами скрипты выполняются параллельно или как сопрограммы. Такой подход хорош с точки зрения масштабируемости системы (сценарии не зависят от реализации процедур, пишутся гораздо быстрее и легче отлаживаются), но не очень хорош с точки зрения качества кода, поскольку неизбежно приводит к его дублированию.
  • Гораздо более рациональным подходом является создание файлов ресурсов (как вариант, xml-файлов, структур, баз данных), описывающих поведение "по существу" (в декларативном стиле), как это делается с другими свойствами внутриигровых объектов (текстуры, модели, эффекты, звуки).
  • В-третьих, скриптовый язык имеет собственный проблемно-ориентированный набор команд, и одна строка скрипта может делать то же, что несколько десятков строк на традиционном языке. Однако стоит заметить, что бо́льшая выразительность кода на сценарных языках является следствием их ограниченности и/или новизны и сравнивать C (1970-е) и PHP (1990-е) и/или Fortran (1950-е) и Python (1990-е) неуместно.
  • Скрипты известны низким порогом вхождения, на скриптовом языке может писать даже низкоквалифицированный программист. Это одновременно и плюс, и минус. С одной стороны, это позволяет нанимать дешёвую рабочую силу (освобождать специалистов от рутинной работы и повышать скорость разработки экстенсивно), а с другой критически снижает производительность и надёжность (из-за ориентированности обучения таким языкам на решение конкретных задач, а не на понимание сущности производимых действий).
    • Проблема высокого порога вхождения возникает, в основном, в языках с избыточным синтаксисом (C++, C#) и может быть полностью решена лишь отказом от них в пользу более удачных (что, разумеется, далеко не всегда возможно). В этом случае скрипты выполняют роль паллиатива. Собственно, они и возникли когда масштабируемость Си-подобных языков стала недостаточной для повседневной работы и порог вхождения новичков в отрасль резко возрос.
    • Проблема большого количества рутины, вообще говоря, неразрешима, но в большинстве случаев может быть сглажена более надёжными дополнительными средствами, например, автоматической кодогенерацией.
    • Если требуется кроссплатформенность. Например, JavaScript — его исполняют браузеры под самыми разными ОС.
      • Проблема с кроссплатформенностью напрямую вытекает из стандарта языка: стандарт Си, например, указывает "sizeOf (short) Примечания
      • Ссылка на основную публикацию
        Adblock detector