СКРИПТ — это… Что такое СКРИПТ?
Скрипт — программа, содержащая набор инструкций для некоторых приложений или утилит. Семантика и синтаксис инструкций в скриптах определяются соответствующими приложениями. Обычно язык скриптов включает простые структуры управления: линейные… … Финансовый словарь
скрипт — 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) и сценарные языки
В более узком смысле под скриптовым языком может пониматься специализированный язык для расширения возможностей командной оболочки или текстового редактора и средств администрирования операционных систем[6].
Классификация
Языки программирования вообще и сценарные языки в частности могут быть классифицированы множеством различных способов.
В плане быстродействия скриптовые языки можно разделить на языки динамического разбора (sh, COMMAND.COM) и предварительно компилируемые (Perl). Языки динамического разбора считывают инструкции из файла программы минимально требующимися блоками, и исполняют эти блоки, не читая дальнейший код. Предкомпилируемые языки транслируют всю программу в байт-код и затем исполняют его. Некоторые скриптовые языки имеют возможность компиляции программы «на лету» в машинный код (т. н. JIT-компиляция).
По применению языки можно грубо разделить на три типа[7]:
- командно-сценарные;
- прикладные сценарные;
- универсальные сценарные.
Командно-сценарные языки
Появились ещё в 1960-х годах для управления заданиями в операционных системах. Из языков того времени наиболее известен JCL для OS/360. В этот класс входят языки пакетной обработки (англ. batch language) и языки командных оболочек, например sh, csh для Unix. Эти языки чаще всего используются в пакетном режиме обработки[7].
Например, язык AppleScript операционной системы MacOS имеет редактор Script Editor, который позволяет записывать действия по мере их выполнения пользователем в системе в файл сценария (текстовый файл) и оформлять в виде исполняемой программы. Такой подход позволяет составлять простейшие сценарии непрограммирующим пользователем
Встроенные (прикладные сценарные) языки
Сценарные языки этого типа начали появляться в 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) <= sizeOf (int) <= sizeOf (long)», но не указывает какую именно разрядность они должны иметь (эту проблему решают прикладные библиотеки, например, Glib). Современные не-сценарные языки (Java, C#, Haskell) этой проблемы полностью лишены именно по причине хорошей стандартизации.
- Скриптовые языки применяются для написания программ, не требующих оптимальности и быстроты исполнения. Из-за простоты на них часто пишутся небольшие одноразовые («проблемные») программы.
- Многие скриптовые языки общего назначения работают достаточно медленно, поэтому их часто используют только в сочетании со сторонними библиотеками (например, NumPy в сочетании с Python).
- Это не очень хороший пример, поскольку NumPy основывается на старой фортрановской библиотеке MATHLAB, код которой, хоть и проверен временем, начинает неизбежно «гнить» — писался он под крайне примитивные однопоточные компьютеры с другими узкими местами (и хотя это компенсируется оптимизирующими компиляторами и распараллеливанием на уровне ОС, производительность постепенно снижается).
- Более правильный пример: язык Lua является классическим встраиваемым языком сценариев общего назначения, для его работы достаточно минимальной реализации Си (везде, где есть Си, может работать и Lua).
- Также скриптовые языки хороши для визуализации данных: создания сложных графиков и презентаций, а также простых программ (например, Python используется в графических оболочках Gnome и Cinnamon для создания апплетов и небольших настроечных утилит).
- Многие скриптовые языки общего назначения работают достаточно медленно, поэтому их часто используют только в сочетании со сторонними библиотеками (например, NumPy в сочетании с Python).
У плагинов также есть важные преимущества.
- Готовые программы, оттранслированные в машинный код, выполняются значительно быстрее скриптов, которые интерпретируются из исходного кода динамически при каждом исполнении. Большинство программ переносимы на уровне исходного кода и могут быть выполнены интерпретатором соответствующего языка подобно скриптам. Использование же байт-кода (Java, C#, LLVM) позволяет хранить, переносить и исполнять программы более эффективным образом, нежели скрипты.
- JIT-компиляция также позволяет оптимизировать общий код под конкретную платформу (в перспективе, под конкретное семейство процессоров и имеющееся оборудование).
- Полный доступ к любому аппаратному обеспечению или ресурсу ОС (в скриптовом языке для этого должен существовать специальный API, написанный на компилируемом языке). Плагины, работающие с аппаратным обеспечением, традиционно называют драйверами.
- Если предполагается интенсивный обмен данными между основной программой и пользовательским расширением, для плагина его обеспечить проще.
- Если языки программирования созданы в разное время и для разных целей, их сравнение по выразительной силе некорректно. Совершенно естественно, что, например, алголоподобные языки (создавались в 60-х и 70-х) будут менее выразительны, чем современные скриптовые языки общего назначения. В сравнении же с «ровесниками» скрипты выглядят уже гораздо менее выгодно.
- Для компилируемых языков программирования характерно использование сильной статической системы типов, которая позволяет эффективно отлавливать ошибки и лучше оптимизировать код. Использование же в современных скриптах динамической типизации обусловлено скорее техническими особенностями реализации и историческими причинами. Также у статически типизированных языков есть потенциал для роста, а именно, переход с традиционной мономорфной типизации на полиморфную. Расширения мономорфизма в современных Си-подобных языках (перегрузка, ad-hoc-полиморфизм) и полиморфизм подтипов, а также параметрический полиморфизм и классы типов в экспериментальных языках (например, Haskell) сценарным языкам недоступен (статическая типизация во время исполнения скрипта приведёт к существенной потере производительности).
Примечания
- ↑ Сузи Р. Сценарные языки: Python. «Мир ПК», 9, 2001
- ↑ Ousterhout, 1998.
- ↑ LuaJIT
- ↑ PyPy
- ↑ Joab Jackson (IDG News Service), Facebook releases a PHP just-in-time compiler
- ↑ Денисов Ю. А., Программирование для гуманитариев, 12. Лекция: Представление грамматик, интуит.ру
- ↑ 1 2 3 4 5 6 7 Богатырев, 2001.
- ↑ Трофимов, Трофимова, 1997.
- ↑ James Gosling: «Java Is Under No Serious Threat From PHP, Ruby or C#»
- ↑ Ryan Tomayko, Gosling Didn’t Get The Memo
Литература
Ссылки
Узнаем вместе, что такое ‘скрипт’
В данной публикации будет рассмотрен вопрос о том, что такое «скрипт». После изучения этой информации, читатели получат общее представление о работе таких программ. Будут предложены и некоторые полезные инструкции по указанной тематике. Итак, «скрипты» – это, прежде всего, программы или программные файлы, сценарии. По сути, таким термином называют любую исполняемую процедуру.
Программы-«скрипты» имеют и более суженное понятие. К примеру, Интернет-технологии предлагают следующее значение этого слова: «Это исполняемая процедура, запускаемая сервером по определенному запросу, который поступает с конкретной страницы (веб-ресурса) Интернета». Рассказывая о том, что такое «скрипт» в плане его применения, следует уточнить, что сфера использования таких программ велика.
С их помощью пользователь персонального компьютера может обратиться к самым различным базам данных, получает возможность наблюдения за статистикой посещений при помощи специальных счетчиков. Также сюда относится оставление комментариев к определенным публикациям, работа с гостевыми книгами (совершение записей, пожелания) и так далее. Где находится «скрипт»? Его месторасположением может быть тот сервер, на котором размещена веб-страница, которая к нему обращается. Возможно и такое его размещение, как удаленный сервер сети Интернет.
Учитывая тот факт, что при запуске «скрипта» производятся определенные действия, следует принять ко вниманию, что выполнение подобных процедур может быть как полезным, так и вредным. В частности это может нести определенную опасность владельцам серверов. Соответственно на некоторых из них запрещается использовать «скрипты». Как правило, провайдер предоставляет такую возможность после того, как оговорены специальные условия применения данных программ.
Теперь поговорим о том, что такое «скрипт», и о его применении более детально. Фактически в настоящее время они используются на каждом веб-ресурсе, и о них знает или слышал любой более-менее продвинутый пользователь персонального компьютера. Возможно, что при этом многим людям хотелось узнать о внешнем виде и работе этих программ. Мы будем говорить о том, что такое «скрипт–CGI», который собственно и является программой, выполняемой на Веб-сервере.
Выполняется она, соответственно, после запроса клиентов. Под клиентами здесь подразумеваются именно посетители определенных Web-сайтов. Фактически «CGI-скрипт» в некотором роде аналогичен другим компьютерным программам, типа «Ворда» (MS Word) или «Эксплорера» (Explorer). Изначально следует понять, что «CGI» не является неким языком программирования, при помощи которого пишутся «скрипты». Полное название этого специализированного интерфейса – «Common Gateway Interface». Используется он для того, чтобы запускать «скрипты» и вести дальнейшую работу.
Теперь вернемся к ранее сделанному утверждению: «Выполнение описываемых программ может нести определенную опасность». Что касается «CGI-скриптов», то и они не являются исключением. Отсюда следует, что планируя определенные Интернет-проекты, следует уточнить детали выполнения «CGI» на том или ином сервере. Ранее говорилось о том, что на некоторых хостингах Интернета провайдерами может быть запрещено или ограничено выполнение таких программ.
Особенно часто ограничения на использование «CGI» наблюдаются на бесплатных хостингах. Это приводит к тому, что пользователь лишается возможностей реализовать различные полезности.
Специфика работы «скрипта-CGI»: если вы являетесь владельцем веб-ресурса, то на ваш сайт заходят посетители, которые оставляют отзывы, комментарии. При этом они заполняют соответствующие поля, а затем нажимают – «Отправить». После таких манипуляций данные отправляются на Сервер, происходит запуск «CGI-скрипта» и обработка информации. Посетитель при этом видит, что его комментарий появляется на страничке и получает сообщение вроде: «Ваш комментарий добавлен, благодарим!»
Фактически общее представление о том, что такое «скрипт», вы теперь имеете. Для более скрупулезного изучения темы существуют специальные обучающие материалы.
скрипт — это… Что такое скрипт?
Скрипт — программа, содержащая набор инструкций для некоторых приложений или утилит. Семантика и синтаксис инструкций в скриптах определяются соответствующими приложениями. Обычно язык скриптов включает простые структуры управления: линейные… … Финансовый словарь
скрипт — 1 іменник чоловічого роду рукопис арх. скрипт 2 іменник чоловічого роду докладний опис процедури, сценарій техн … Орфографічний словник української мови
скрипт — см. анализ трансакционный. Словарь практического психолога. М.: АСТ, Харвест. С. Ю. Головин. 1998. скрипт … Большая психологическая энциклопедия
Скрипт — (от англ. script сценарий) элемент памяти . Схема события, которая включает в себя ряд отдельных эпизодов. Предполагается, что именно в форме скриптов организованы знания в памяти … Психологический словарь
СКРИПТ-ГЁРЛ — [англ. scriptgirl] арго секретарша режиссера (на киностудии). Словарь иностранных слов. Комлев Н.Г., 2006 … Словарь иностранных слов русского языка
СКРИПТ — Сценарий программа, которая автоматизирует некоторую задачу, которую без сценария пользователь делал бы вручную, используя интерфейс программы Словарь бизнес терминов. Академик.ру. 2001 … Словарь бизнес-терминов
скрипт — сценарий Небольшая служебная программа или макрос, используемые при определенных обстоятельствах. Программа, написанная на каком либо языке программирования для взаимодействия клиента с сервером. Например: Script на Perl для подсчета количества… … Справочник технического переводчика
скрипт — Скрипт: посвідка, рукопис [46 1] розписка, вексель [47] рукопис [49;50,IV,VI,XX] Та про се прошу Вас не забувати 1) про дальший скрипт Клоустона, 2) про дальший скрипт Фірдоусі [XX] рукопис, письмо, посвідка, зобов язання [44 1] рукопис, текст… … Толковый украинский словарь
скрипт — шкрыпт (скрипт), шкрипт рукопис, писання … Зведений словник застарілих та маловживаних слів
Скрипт — … Википедия
скрипт — (лк) scrībere писать; scrīptio писание скрипторий ист. помещение в монастыре, где переписывались книги манускрипт рукопись постскриптум «после написанного», добавление к письму транскрипция «переписывание», передача на письме звучания слов, а… … Анатомия терминов. 400 словообразовательных элементов из латыни и греческого
Скрипты, скрипты и скрипты! Что же это такое? | Info-Comp.ru
Что только сегодня не называют скриптами, к месту и не к месту употребляя это модное словечко! Некоторые люди вкладывают в это слово какой-то свой, только им понятный смысл, а некоторые вообще не вкладывают никакого смысла. На самом деле, невозможно писать хорошие скрипты, если не понимать точного значения этого слова, так что, давайте попробуем разобраться в терминах, для начала.
Коротенькая справочка или напоминание, это для кого как. Языки программирования делятся на две большие группы – компилируемые и интерпретируемые.
Первые, с помощью специальной программы компилятора, переводят программу, написанную программистом, в так называемые машинные коды, то есть в коды понятные процессору (или процессорам, как частный случай) компьютера, которые процессор может выполнять. В случае с компилятором программа хранится на диске и загружается в память (RAM) компьютера в машинных кодах (условно говоря, в ноликах и единичках).
Вторые, или интерпретируемые языки программирования, отличаются тем, что программа, написанная программистом, может сразу загружаться в оперативную память в том виде, в котором она была написана, и выполняться шаг за шагом, команда за командой, преобразуясь в машинные коды специальной программой интерпретатором. В случае с интерпретатором программа хранится на диске и загружается в память (RAM) компьютера в том виде, как была написано программистом.
Основное преимущество компилируемых программ по сравнению с интерпретируемыми, это скорость работы. Иногда эта скорость может быть выше на несколько порядков! Интерпретаторы, безусловно, будут работать медленнее, так как им приходится делать много побочной работы помимо выполнения основной программы. А ведь скорость выполнения программы для нас очень важна, особенно если мы создаем игру! Мы ведь не хотим видеть дергающихся и тормозящих персонажей, тем более слайд-шоу! Для нас ведь важно, будет созданный нами персонаж реагировать через 1 миллисекунду или только через 10 секунд.
Зачем нам вообще использовать интерпретируемый язык программирования для создания игр? И можно ли его использовать в принципе? Дело в том, что у интерпретируемых языков тоже есть свои преимущества, и одно из них то, что программу можно быстро отлаживать (т.е. исправлять ошибки), дополнять и изменять. Ведь программа хранится на диске в том виде, как её написал программист и её не нужно каждый раз перекомпилировать после исправления маленькой ошибки. Кстати, поэтому и разобраться в чужих программах проще – языки программирования, особенно ориентированные на написание скриптов, очень просты для понимания, а вот разобраться в машинных кодах без отличного знания ассемблера (что дано далеко не каждому) практически невозможно…
В общем, программистам всегда хотелось совместить скорость работы компилируемых языков и простоту отладки интерпретируемых. Результатом стал своеобразный гибрид, так называемый прекомпилируемый метод работы интерпретаторов. При этом программа хранится на диске в том виде, как её написал программист, но в момент загрузки в оперативную память компьютера она переводится (специальной программой, часто называемой препроцессором) или непосредственно в машинные коды или в более удобный для дальнейшей обработки промежуточный формат. Вот! Это как раз и есть наш вариант со скриптами в Мафии, да и в огромном количестве других игр Имеем хорошую скорость работы и простоту отладки, в частности моддинга.
Игра Mafia: The City of Lost Heaven написана на объектно-ориентированном языке С++, программисту это уже о многом говорит! Для непрограммистов поясню, что в соответствии с логикой этого языка, всё, что мы видим и многое из того, что не видим, описано в виде отдельных объектов. Каждый человек, каждая машина или здание, каждая коробка или телефонная будка, каждая дорога или выезд из города и т.д… в общем всё это объекты! Каждый объект относится к какому-нибудь классу, например, машины, друзья, полицейские и т.д. Чуть позже мы поговорим об этом подробнее, а сейчас нам важно только усвоить, что игра Мафия, вернее наш городок Лост Хэвен, весь состоит из объектов, он из них построен.
Теперь о скриптах. Скрипт, это сценарий, от английского слова «Script». Точно такой же сценарий или роль, как в театральной пьесе! На форуме Вебгеймера, как выяснилось, есть много театралов, людей, которые любят театр и разбираются в нем. Вот им-то должно быть понятно, о чем я веду речь. Вы никогда не обращали внимания, не задумывались, почему разработчики назвали игровые файлы сценами (scene.4ds, scene2.bin и т.д.), а объекты, из которых состоят эти файлы актерами (actors)? Или откуда пошло такое понятие как «игровая сцена»? Дело в том, что игровые скрипты-сценарии, особенно для игр типа «action» (кстати, еще одно словечко из шоу-бизнеса), очень похожи на сценарии и пьесы театральные, можно сказать, что они близкие родственники. И в том и в другом случае у нас есть сцена с расставленными декорациями и актерами (мизансцена), при этом у некоторых актеров есть свой сценарий, своя роль, свой экшен, а у некоторых этого нет, они как бы играют в массовке. Но ведь и массовка тоже важна, без нее у нас не получится целостности, полноты впечатления от спектакля.
Актер, в любом случае актер, независимо есть у него роль со словами и экшеном (свой скрипт) или он играет бессловесную статую. Как я говорил выше, все из чего состоит город, это объекты. Это верно и понятно любому программисту! Но в то же время любой объект является актером на нашей сцене, по терминологии программистов Illusion Softworks, и с точки зрения «театрального» подхода к скриптам, о чем я говорил выше. Позже попробуем разобраться с этим поподробнее, а пока просто запомним, что объект и актер, это одно и то же – называйте как вам удобнее. Главное, чтобы вы понимали, что бутылка и чашка, стоящие в баре у Луиджи, и сам Луиджи, это и объекты, и актеры одновременно.
Давно вы были в театре? Помните хотя бы, что вам показывали на сцене? Любая театральная пьеса, пусть даже самая гениальная, сводится всего лишь к перемещению актеров по сцене, произнесению ими каких-то реплик и выполнению каких-то действий. Мы не можем увидеть мысли героев, их сны, мечтания и прочую нематериальную ерунду – все это невозможно показать средствами театра. Например, в кинематографе есть технические приемы как показать действие героев так, чтобы мы поняли – герой спит и видит сон или мечтает (черно-белое или расфокусированное изображение на экране, замедленная съемка и т.д.), а вот в театре мы таких приемов практически лишены – только чистый экшен, только то, что актер делает. Конечно, возможен режиссерский прием, когда диктор загробным голосом объявит: «И снится Вере Павловне сон…», но дальше-то дело сведется опять к действиям актеров, то есть, к тому же экшену! Ничего не поделать, таковы условности и ограничения театра! И практически такие же ограничения и условности мы имеем в игровых скриптах, раз уж мы согласились, что они родственны по своей сути. Кстати, голос диктора в играх частенько заменяется титрами .
Итак, мы построили сцену, расставили актеров и раздали им их роли (scripts), теперь они могут сыграть нам спектакль, а мы насладиться зрелищем, НО очень скоро это нам наскучит, ведь мы делаем игру, то есть хотим сами принять участие в спектакле, самому стать актером, а не только наблюдать за другими актерами. Тут есть один интересный момент! Все актеры имеют свои роли, в соответствии с которыми они выполняют какие-то действия, причем так, что со стороны может показаться, что актеры разумны. Создается впечатление, что актеры могут думать и принимать решения, что они обладают некоторым, достаточно убогим, но все-таки подобием искусственного интеллекта (Artificial Intelligence a.k.a. AI), для простоты часто и говорят, что игровые персонажи обладают AI. Закономерный вопрос, а если игрок выступает в качестве одного из актеров, то нужен ли игроку управляющий его поведением скрипт? У игрока ведь есть своя голова на плечах, часто и не пустая! Игрок сам может и должен принимать решения, в этом и заключается суть игрового процесса, зачем для игрока создавать дополнительный скрипт и AI. В простейшем случае для взаимодействия с AI других актеров, например: чтобы контролировать уровень здоровья игрока, чтобы он не залез куда не просят, чтобы отслеживать корректность прохождения миссии игроком (читы, например), чтобы завершить миссию, когда она пройдена. Таким образом, получается, что если для других актеров скрипты играют в основном управляющую роль, они думают и принимают решения за актеров, то в случае с игроком, скрипты больше ориентированы на контроль его поведения и взаимодействия с другими актерами.
А думать и принимать решения игроку предлагается самому.
Итак, определение скрипта.
Скрипт (script), это сценарий, описывающий и определяющий роль одного актера, его свойства, характеристики, поведение и взаимодействие с другими актерами.
Вы можете спросить, а как же, например, скрипт банды из Alive mod? Ведь не один актер составляет банду? Действительно, в банде несколько человек, у каждого из которых свой скрипт и свои функции, например, водитель… Все верно, каждый из членов банды является отдельным актером и имеет свой отдельный скрипт, описывающий его поведение и свойства. НО, в то же время, вместе члены банды составляют новый объект или актера, что одно и тоже. Если вам трудно это представить, то попробуйте представить, например, кирпич! Кирпич является объектом и относится к классу «Стройматериалы», из нескольких десятков или сотен кирпичей мы можем построить стену, которая тоже будет являться одним объектом, несмотря на то, что построена из множества других объектов, тех самых кирпичей. А из нескольких стен мы построим дом, который тоже является одним объектом, просто другого, более крупного класса «Дома», и так далее, до района и города в целом. В то же самое время наш маленький кирпич никуда не делся, он как был, так и остался объектом.
Точно так же преобразуются и скрипты, поскольку каждому объекту соответствует один скрипт, а объекты могут объединять в себе множество других объектов. Вот и получается, что каждый член банды имеет свой отдельный скрипт, у банды свой скрипт, а у миссии свой. Сложно представить? Ничего, в процессе работы будет понятнее, я надеюсь. А пока запомним, что одним актером могут управлять несколько различных скриптов, это зависит от того, к какому классу объектов он относится, и насколько сложные роли ему предстоит исполнять в этих классах.
Ссылка на первоисточник: http://www.webgamer.ru/Scripts_what_is_it/
Скрипт — это… Что такое Скрипт?
Скрипт — программа, содержащая набор инструкций для некоторых приложений или утилит. Семантика и синтаксис инструкций в скриптах определяются соответствующими приложениями. Обычно язык скриптов включает простые структуры управления: линейные… … Финансовый словарь
скрипт — 1 іменник чоловічого роду рукопис арх. скрипт 2 іменник чоловічого роду докладний опис процедури, сценарій техн … Орфографічний словник української мови
скрипт — см. анализ трансакционный. Словарь практического психолога. М.: АСТ, Харвест. С. Ю. Головин. 1998. скрипт … Большая психологическая энциклопедия
СКРИПТ-ГЁРЛ — [англ. scriptgirl] арго секретарша режиссера (на киностудии). Словарь иностранных слов. Комлев Н.Г., 2006 … Словарь иностранных слов русского языка
СКРИПТ — Сценарий программа, которая автоматизирует некоторую задачу, которую без сценария пользователь делал бы вручную, используя интерфейс программы Словарь бизнес терминов. Академик.ру. 2001 … Словарь бизнес-терминов
скрипт — сценарий Небольшая служебная программа или макрос, используемые при определенных обстоятельствах. Программа, написанная на каком либо языке программирования для взаимодействия клиента с сервером. Например: Script на Perl для подсчета количества… … Справочник технического переводчика
скрипт — Скрипт: посвідка, рукопис [46 1] розписка, вексель [47] рукопис [49;50,IV,VI,XX] Та про се прошу Вас не забувати 1) про дальший скрипт Клоустона, 2) про дальший скрипт Фірдоусі [XX] рукопис, письмо, посвідка, зобов язання [44 1] рукопис, текст… … Толковый украинский словарь
скрипт — шкрыпт (скрипт), шкрипт рукопис, писання … Зведений словник застарілих та маловживаних слів
Скрипт — … Википедия
скрипт — (лк) scrībere писать; scrīptio писание скрипторий ист. помещение в монастыре, где переписывались книги манускрипт рукопись постскриптум «после написанного», добавление к письму транскрипция «переписывание», передача на письме звучания слов, а… … Анатомия терминов. 400 словообразовательных элементов из латыни и греческого
Что такое скрипт?
Сейчас интересоваться скриптами начинает все больше и больше пользователей интернета. И дело вовсе не в том, что многие хотят стать программистами. Написание скриптов это относительно простое дело, по крайней мере для того, чтобы начать писать скрипты не нужно много знаний и навыков. Однако, чтобы научиться писать даже простые скрипты нужно разобраться, что такое скрипт, какие виды скриптов существуют и каков их принцип работы. Именно эти вопросы обсудим в нашей статье.
Понятие скрипта
Скриптом называется программа, программный сценарий. Более точная формулировка скрипта звучит так: любая исполняемая процедура, которая запускается автоматически или же с помощью команды пользователя. В глобальной сети под скриптом понимается процедура, выполняемая сервером по запросу, который отправляется с определенной страницы.
Для чего нужен скрипт
Большинство веб-сайтов описываются с помощью языка html. Этот язык отвечает лишь за организацию и внешний вид web-страниц. А для того чтобы пользователь мог отправлять сообщения, открывать формы на сайте, выполнять любые другие динамические действия, нужны дополнительные программы. Именно для этого и применяются скрипты.
Сфера использования скрипта
Скрипты используют не только в программировании, область их применения крайне велика. Скрипт может быть использован для повторяемых и сложных для запоминания пользователю операций. Простым примером использования скрипта является обращение к базе данных, мониторинг статистики, возможность создания автоматических комментариев, динамическое изменение содержания страниц, составление галерей и так далее.
Теперь давайте рассмотрим пример работы скрипта. Допустим, у вас есть свой форум, на этом форуме зарегистрированные пользователи. Один из этих пользователей решил оставить сообщение. Как только он нажмет на соответствующую кнопку, перед ним откроется окно, где он сможет написать свое сообщение.
Так же пользователь сможет указать тему, электронный адрес, свой никнейм и другие данные. Работа скрипта в данном случае начнется в тот момент, когда пользователь нажмет кнопку «Отправить сообщение». Информация в ту же секунду отправится на сервер и активирует скрипт, который в свою очередь запустит поток другой информации. Произойдет обработка всех заполненных полей, которые будут зафиксированы.
Типы скриптов
Прежде всего скрипты принято относить к языкам программирования. Скрипт может быть написан на любом из существующих языков. Пример, php, perl, javascript и так далее. Скрипты, которые написаны на этих языках, принято называть клиентскими. Их главное преимущество заключается в том, что с их помощью можно быстро работать с веб-приложениями, а также не нужно устанавливать специальное программное обеспечение, можно быстро изменить содержание веб-страницы и автоматически обновить ее. При этом клиентские скрипты не имеют защиты данных. Поэтому код страницы можно посмотреть в любом браузере. Лучшей защищенностью обладают серверные скрипты, которые, как правило, пишутся на языке C++.
Использование скрипта
Скрипты можно написать самому или скачать из сети. Многие из скриптов являются платными, однако есть и бесплатные аналоги. Причем найти такие не составляет труда. Не стоит думать, что речь идет о некачественном продукте. Можно бесплатно скачать хороший скрипт, но в то же время можно скачать неудачный, написанный неопытным пользователем за немалые деньги.
Однако мало разбираться в скриптах, нужно еще и уметь работать с ними. Уместно здесь рассмотреть в качестве метафоры ситуацию с гаечными ключами. Многие понимают, что разные ключи предназначены для разных целей. Отличить один ключ от другого, труда не составит. Однако пользоваться ключами — это уже совсем другая история. То же самое касается и скриптов.
Допустим, вы скачали скрипт, который был написан профессионалом. Однако вам все равно придется настроить его для своего сайта, интернет-магазина, любого другого ресурса или же программы, которую вы пишите самостоятельно.
Таким образом работа со скриптом предполагает помимо его настройки еще и установку. Также нужно уметь запускать скрипт. Подробнее об этом изложено в статьях: