Липаткин В.В. студент 2 курса
факультет «Информационных систем и технологий» Поволжский государственный университет телекоммуникаций и информатики
Россия, г. Самара СКРИПТОВЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ
В статье рассматриваются языки сценариев (скриптовые языки), их особенности и преимущества перед компилируемыми языками в определённых проектах.
Ключевые слова: скрипт, сценарий, интерпретация, компиляция, классификация, преимущества.
Язык сценариев, или же скриптовый язык (англ. - scripting language) -это язык программирования, разработанный для записи последовательностей операций - сценариев.
Многие скриптовые языки программирования имеют слабую типизацию, либо вообще бестиповые. Среди них так же распространена динамическая типизация: переменная связывается с типом в момент присваивания значения, а не в момент объявления переменной.
Большинство скриптовых языков интерпретируются, а не компилируются. Интерпретация - это покомандный или построчный анализ и выполнение исходного кода без компиляции. Алгоритм простого интерпретатора можно описать следующим образом:
1. прочитать инструкцию;
2. анализировать инструкцию и применить соответствующие действия;
3. выполнить действие;
4. если программа не завершилась, то читать следующую инструкцию и так далее.
Скриптовые языки программирования по назначению можно разделить на три типа:
■ командные;
■ прикладные;
■ универсальные.
Командно-сценарные языки
В эту категорию входят языки пакетной обработки и языки командных оболочек. Используются для управления заданиями в операционных системах. К ним относятся: JCL, sh (bash, csh, ksh), command.com, VB Script, PowerShell.
Прикладные (встраиваемые) сценарные языки
Этот тип языков специализируется на конкретной предметной области.
Дизайн такого языка отражает специфику выбранной области применения.
К этому типу относятся: AutoLisp, ECMAScipt и его диалекты (Jscript, JavaScript, ActionScript), ERM, Game Maker Language, UnrealScript, LotusScript, VBA и другие.
Языки общего назначения
Эта категория языков наиболее известна, особенно в применении к веб-программированию. К ним относятся: Tcl, Lua, PHP, Perl, Python, Ruby, REBOL.
Использование скриптовых языков имеет ряд преимуществ:
ш Кроссплатформенность: программы будут работать на любой платформе, где есть соответствующий интерпретатор (например, JavaScript исполняется браузерами на любой ОС);
ш Скриптовый язык при возникновении ошибки не приведёт к краху системы, а лишь выдаст соответствующее диагностическое сообщение;
ш Как правило, более наглядные средства диагностики ошибок в исходном коде;
ш Скриптовый язык имеет свой проблемно-ориентированный набор команд, и одна строка скрипта может делать то же, что десяток строк на обычном языке.
ш В скриптовом языке может быть совсем другая концепция программирования, чем в основной программе, которая его использует.
К недостаткам можно отнести проблемы с производительностью, поскольку промежуточный анализ исходного кода и планирование его выполнения требуют дополнительного времени в сравнении с непосредственным исполнением машинного кода, в который мог бы быть скомпилирован исходный код. В большинстве случаев данный недостаток не особо влияет на работоспособность программы. Скриптовые языки находят своё применение в соответствующих им областях и успешно решают поставленные перед ними задачи.
Использованные источники:
1. Богатырев Р. Природа и эволюция сценарных языков (рус.) // Мир ПК. — 2001. — № 11.
2. Roberto Ierusalimschy. Programming in Lua / lua.org; 2004 г. - 366 стр.
3. Wikipedia.org - свободная интернет-энциклопедия.