Similar presentations:
Разработка сценариев с помощью специализированных языков
1.
Разработка сценариев с помощьюспециализированных языков
Лекция 8
2.
Назначение сценарных языковпрограммирования
• Язык сценариев (или скриптовый) – это язык
программирования, который разработан для записи
последовательностей операций («сценариев»), выполняемых
пользователем на своем компьютере. Раньше назывался
языком пакетной обработки.
• Сценарий или скрипт – это программа, автоматизирующая
задачу. Без скрипта пользователю бы пришлось ее выполнять
вручную с помощью интерфейса программы.
• Скрипты используют для раскрутки сайта в следующих целях:
• для расширения функционала ресурса;
• для автоматического обмена ссылками;
• для выполнения работ по поисковой оптимизации;
• для сбора статистики, анализа позиций сайта и т.д.
.
3.
История языков сценариевПервые мэйнфреймы не поддерживали широкого спектра механизмов (или
вообще не поддерживали механизмов) взаимодействия с пользователями;
вместо них использовались очереди задач. Для упрощения процесса
обработки задач были разработаны различные языки, включая язык Job Control
Language, созданный специалистами компании IBM.
В 1960 году на смену языкам обработки задач пришли интерактивные
командные оболочки и сценарии, позволяющие автоматизировать запуск
программ. Они позволили задействовать дополнительные удобные функции
благодаря работе множества программистов. Язык TRAC, созданный Калвином
Муерсом, принес идеи подстановки команд в сценариях, а также
использования вывода этих команд в рамках этих же сценариев - этот
механизм напоминает оператор обратных кавычек в современных командных
оболочках.
Стьюарт Мадник из MIT разработал язык сценариев CMS EXEC (в оригинале
имевший имя COMMAND) для IBM VM/CMS OS в конце 60-х годов прошлого
века. Он поддерживал управляющие выражения различных типов (включая
условные инструкции и циклы), а также несколько встроенных функций.
Очевидно, что именно с данного момента началось развитие современных
языков сценариев.
4.
ПреимуществаДля создания пользовательских расширений язык сценариев удобен в
ряде случаев:
• безопасность. Скриптовый язык обеспечивает программируемость без
риска дестабилизации системы. Скрипты не компилируются, а
интерпретируются. Поэтому неправильно написанная программа
выведет диагностическое сообщение, не вызывая падение системы;
• наглядность. Язык сценариев используется, если необходим
выразительный код. Концепция программирования в скриптовом
языке может кардинально отличаться от основной программы;
• простота. Код имеет собственный набор программ, поэтому одна
строка может выполнять те же операции, что и десятки строк на
обычном языке. Поэтому для написания кодов не требуется
программист высокой квалификации;
• кроссбраузерность. Скриптовые языки программирования
ориентированы на кроссбраузерность. Например, JavaScript может
исполняться браузерами практически под всеми современными
операционными системами.
5.
Недостатки• Большинство скриптовых языков программирования являются
интерпретируемыми, а не компилируемыми. Поэтому
созданные с их использованием сценарии зачастую
исполняются медленнее, чем бинарные программы, созданные
с использованием компилируемых языков программирования.
• Постоянно растущая популярность этих языков напрямую
связана с постоянным повышением производительности
доступного аппаратного обеспечения. Чем быстрее работает
компьютер, тем меньшее значение будет иметь разница в
скорости между интерпретируемыми и компилируемыми
программами; при этом решающее значение будет иметь
скорость процесса разработки. Пропуск этапа компиляции
значительно упрощает цикл разработки и отлично сочетается с
такими современными практиками программирования, как
экстремальное программирования.
6.
КлассификацияВ зависимости от быстродействия различают языки сценариев предварительно
компилируемые (например, широко используемый для создания и продвижения сайтов Perl)
и динамического разбора (command.com, sh). Первые транслируют программу в байт-код,
который затем исполняют. Языки динамического разбора считывают инструкции из файла
программы минимально необходимыми блоками, которые исполняют, не читая, дальнейший
код.
Выделяют следующие типы скриптовых языков:
• универсальные: 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.
• К скриптам также относят многие консольные утилиты, которые поддерживают выполнение
записанной в файл последовательности команд.
7.
JavaScript• Согласно барометру популярности JavaScript стоит на
первом месте. Используется для вебпрограммирования, создания клиентских приложений и
интерактивной работы. Интерпретаторы JS встроены в
каждый уважающий себя браузер, а с появлением
Node, JavaScript стал использоваться для
программирования серверов. На сегодняшний день
JavaScript – скриптовый язык, который используется на
каждом сайте. Так как работает он прямо в браузере, не
нужно загружать дополнительное ПО, достаточно
текстового редактора. Это гибкий язык с простым
синтаксисом, поэтому его часто рекомендуют для
начинающих кодеров.
8.
Python• Популярность этого языка неумолимо набирает обороты.
Python – это высокоуровневый серверный скриптовый язык для
веб-сайтов и мобильных приложений. Обладает компактным
синтаксисом, его удобно читать и легко с ним работать.
Скептики утверждают, что пригоден Python только для работы с
web, а создавался он в целях оживить статичный HTML. Но это
не так. На Python пишут не только плагины и модули. Его
применяют в гейм-разработке. Игры Frets On Fire, MMORPG EVE
и Online Sims 4 (продано 1 миллион экземпляров) были
созданы на Python. Его используют Instagram, Pinterest, Rdio,
Google, Yahoo и даже НАСА. У Python низкий порог вхождения,
он быстро усваивается и запоминается. Выучить его можно
абсолютно бесплатно на интерактивных площадках
Codecademy, сервисах Udacity и Coursera.
9.
PHP• Серверный язык сценариев,
предназначенный для динамических вебсайтов и разработки приложений. Может
быть непосредственно встроен в исходный
HTML-документ, а не во внешний файл. На
PHP построено и работает более 200
миллионов веб-сайтов, включая Digg,
Facebook и платформы WordPress, Joomla,
Drupal.
10.
Ruby, Scala, RНа сегодняшний день самыми востребованными скриптовыми
языками являются JavaScript, Python, PHP. Постепенно
завоевывают любовь программистов Ruby, Scala и R.
Ruby – сценарный язык, созданный в 1995 году Юкихиро
Мацумото. До 2004 года о нем никто не слышал, пока не появился
фреймворк Ruby on Rails. Сейчас Ruby уверенно догоняет Python.
Увеличивается интерес к Scala. Это функциональный язык,
использующийся серверами Foursquare и Twitter. На нем можно
писать как веб, так и Android-приложения.
R – инструмент для сбора статистических данных, работы с
графикой и мощный скриптовый язык. Представляет собой
коллекцию классических скриптовых функций, заимствованных из
Лиспа и математики, с набором подпрограмм для анализа.