Что такое Скрипт (Script)?
- Категория: Что такое?
- – Автор: Игорь (Администратор)
В нынешнее время термин скрипт (script) неразрывно связан с областью информационных технологий. При чём встретить его можно не только в обществе опытных товарищей, которые хорошо знакомы с этим термином, но и среди обычных пользователей. Поэтому знания о том, что такое скрипт, зачем он нужен, каковы его преимущества и недостатки, и прочие нюансы, вряд ли будут лишними.
Но обо всём по порядку.
Скрипт это
Скрипт, скриптовый язык, script, язык сценариев - это высокоуровневый язык сценариев, коротких описаний действий, выполняемых некой информационной системой или программным обеспечением.
Примечание: Стоит знать, что термин скрипт также используется в маркетинге, но там он означает некий заготовленный план действий для определённых случаев.
Вообще, если смотреть как пишут скрипты, то чаще всего это напоминает написание обычных программных кодов. Поэтому в обывательском плане они не сильно отличаются от других языков (например, компилируемых). Однако существенная разница всё же существует. Дело в том, что скрипты в основе своей подразумевают интерпретацию в момент выполнения (заранее в некий машинный код скрипты не преобразуются, скажем, в тот же exe-файл). Простыми словами, вы можете редактировать скрипт в обычном текстовом редакторе и сразу же наблюдать эффект от корректировок, но об этом ещё более подробно упомяну дальше.
Пример скриптового языка JavaScript, который можно увидеть во множестве сайтов (или нечто аналогичное), если посмотреть исходный код страницы:
Стоит отметить, что даже если вы не разбираетесь в JavaScript, то вам не сложно будет понять логику данного куска скрипта. Вначале проверяется какое-то условие с "some-class1", затем удаляется класс "some-class2" и прибавляется "some-class3".
В дополнение добавлю несколько примеров скриптовых языков: VBSript (Visual Basic Script), PHP, Python, JavaScript, Perl, Flash (данный язык уже больше не поддерживается браузерами, но он достаточно сильно повлиял, поэтому упомянул его), Bash, PowerShell и так далее.
История скриптов
Если говорить про историю появления скриптовых языков, то скрипты появились достаточно давно в Unix/Linux системах. Дело в том, что нужна была какая-то простая возможность для автоматизации рутинных задач. Скажем, пройтись по каталогам и что-то сделать с файлами. Для этого была придумана оболочка sh, в которой использовался shell script. Кстати, многие операционные системы и по нынешний день поддерживают различного рода скрипты. Потому что это гораздо удобнее, чем писать миллионы программ под каждый случай.
Со временем скрипты из операционных систем перекочевали в браузеры (тот же JavaScript). И это позволило существенно расширить возможности сайтов. Скажем, та же красивая анимация в сайтах была бы просто невозможна без скриптов, так как предусмотреть все возможные варианты анимаций и их последовательностей просто невозможно.
Кстати, и некоторые обычные программы поддерживают различного рода скрипты внутри себя. В частности, программа AutoHotkey из обзора Лучшие бесплатные программы для задания горячих клавиш (Macro Recorder Utility). Суть - вы задаете некий шаблон действий с помощью сценарного языка AutoIt и устанавливаете некую комбинацию клавиш, нажатие которой приводит к выполнению действий ранее написанного шаблона.
Зачем скрипты нужны и где используются?
Вообще, скрипты применяются для выполнени обширного рода задач. И вот некоторые из них:
1. Выполнение разных действий страницы веб-сайта в браузере (анимация, проверка корректности ввода данных, всплывающие окошки и т.п.)
2. Запуск приложений по расписанию (тот же cron).
3. Автоматизированная проверка файлов.
4. Запуск синхронизации каких-то данных.
5. Создание резервных копий по расписанию.
И многое-многое.
Основная суть в том, что скрипт это некоторый простой формализированный язык, который относительно удобочитаем для пользователя и который может корректно воспринимать информационная система или приложение.
Простыми словами, проще если в системе много базовых инструментов и пользователи могут выстраивать из них какую-то комбинацию под свои задачи, чем создавать кучу многофункциональных программ, ведь всегда найдётся что-нибудь такое, что сложная программа не сможет выполнить, хотя обладает достаточными возможностями. Хотя и специализированные заточённые программы тоже нужны. Грубо говоря, одно не отменяет другого.
Преимущества и недостатки скриптов
Теперь перейдём к основным преимуществам и недостаткам скриптов.
Преимущества скриптов:
1. Простота использования. Конечно, скриптовые языки могут подразумевать большие возможности (сложные функции и т.п.), но данный пункт о другом. Речь о том, что освоить скрипты обычно не так уж и сложно. Скажем, чтобы написать свой первый код в стиле "Моя первая поделка!" вам нередко потребуется всего одна или пара строчек, которые сразу же можно использовать. В нескриптовых языках вам нужно будет: создать проект, подключить библиотеки, написать код, скомпилировать код и только после всего этого запустить полученный exe-файл. Согласитесь, разница заметна?
2. Кроссплатформенность. Суть в том, что скрипты написаны простым формализированным языком. Что там в самой системе скрипта не касается. Скажем, php можно запускать как в Unix/Linux системах, так и в Windows. При этом сам код крайне редко может потребовать каких-то корректировок. А вот exe-файл из Windows вы не запустите в Unix/Linux (ну и далеко не каждый нескриптовый код можно скомпилировать под нужную операционную систему без "тёплых и уютных бессонных ночей"). Или, например, JavaScript запускается во множестве браузеров (кроссбраузерность), при этом внутренняя начинка браузеров может сильно отличаться.
3. Простота корректировок. Хоть это и вытекает из первого пункта, но всё же этот момент стоит отметить отдельно. Скажем, чтобы подкорректировать сайт, написанный на php, вам ничего не нужно, кроме текстового редактора. Это позволяет и ошибки быстрее исправлять, и нужные функции добавлять, и многое другое.
Недостатки скриптов:
1. Скорость выполнения. Чем сложнее сценарный язык и чем больше необходимого кода, тем больше времени может требоваться для запуска скрипта, ведь информационной системе каждый раз приходится интерпретировать весь код (существуют разные уловки, но хитрости это хитрости, а не базис). Более того, скрипты нередко могут быть ограничены в части возможностей для оптимизации. В этом смысле нескриптовые языки гораздо более эффективны, так как компилируются в бинарный код и могут использовать специфические возможности аппаратуры. Поэтому вы вряд ли увидите, скажем, нагрузочную систему, написанную на php. Иное дело, что это не всегда нужно. К слову, большая часть сайтов в интернете написана на php.
2. Ограниченность функций. Первый момент. Сами интерпретаторы скриптовых языков написаны на компилируемых языках. Поэтому чисто технически скриптовые языки ограничены. Никто же не будет полностью переносить все возможности компилируемых языков в скриптовые. Во-вторых, чаще всего скриптовые языки решают массовые задачи или же предназначены для решения узкой специальной задачи.
3. Лёгкая доступность. Абстрактный пример. Кто лучше разбирается в математике, тот, который изучал высшую математику, или тот, который изучил арифметику? Вероятно, первый. И причина проста - наличие более глубоких знаний. Скажем, чтобы изучить C++ (и прочие компилируемые языки) нужно существенно больше времени, чем для изучения php. А там, где знаний меньше, там больше некачественных решений.
Примечание: Справедливости ради, отмечу, что это не значит, что php это плохой язык, что люди, изучающие его неграмотные, или нечто подобное. Тут как и везде. Скажем, чтобы сварить пельмени из магазина много знаний не нужно, но этого вряд ли будет достаточно для приготовления вкусняшки из разных ингридиентов. А вот человек, который знает как приготовить вкусняшки, не только сварит, но и сам сделает домашние пельмешки.
Как видите, скрипты это не что-то из разряда мифического и заоблачного, а вполне обыденная вещь.
Также вам может быть интересен обзор Что такое Конфигурация?
Понравилась заметка? Тогда время подписываться в социальных сетях и делать репосты!
☕ Понравился обзор? Поделитесь с друзьями!