Скриптов език

Езикът за писане на скриптове или езикът за писане на скриптове е език за програмиране, който поддържа скриптове. Скриптовете обикновено са кратки компютърни програми, които извършват стъпки, които могат да бъдат извършени една по една от човек. По този начин се автоматизира дадена работа, за да стане по-лесна и по-надеждна. Езикът за писане на скриптове често е по-прост и по-лесен за научаване от други езици, но въпреки това може да прави много неща.

Скриптовете могат да се изпълняват в друга програма, например в уеб браузър или Microsoft Excel. Те могат да бъдат и обвивка, която се изпълнява от интерфейса на командния ред и прави повиквания към операционната система (ОС). Шелът се счита за интерактивен - потребителят може да избере какво да въведе, а шелът отговаря на командата. Те могат да се използват за управление на работни места на мейнфреймове и сървъри.

Някои хора казват, че езикът за скриптове трябва да е свързан с конкретна употреба. Други използват по-широко определение и включват езици за програмиране с общо предназначение, които се интерпретират, а не компилират. Общото предназначение означава, че той може да се използва по много начини за различни неща. Някои езици с общо предназначение (като Java) имат разновидности, които могат да бъдат скриптирани (Javascript). Няма конкретно правило за това какво е или не е език за писане на скриптове.

Примери

Някои често срещани примери за скриптови езици:

  • Bash и C shell като езици за управление на операционните системи Unix или Unix-like
  • Скриптовете, които се изпълняват в други приложения, се наричат език за разширение. Уеб браузърите позволяват няколко вида скриптове, включително ECMAScript (JavaScript) или XUL. Например началната страница на Google използва JavaScript. Visual Basic for Applications се използва в Microsoft Office. Lua е език, специално създаден като език за разширения, и може да се използва в рамките на много приложения.
  • Игрите, в които има разширения за скриптове, включват виртуалния свят Second Life и симулаторите на железопътни линии Trainz. В други игри, като Wesnoth, разнообразието от реално изиграни игри са скриптове, написани от други потребители.
  • Езици за обработка на текст sed и AWK
  • Общо предназначение: Perl, Tcl и Python са езици за програмиране от високо ниво (по-близки до човешкия език, отколкото до машинния код), които могат да се използват за много различни неща. Някои от тези езици първо са били създадени за конкретна употреба, а след това са били превърнати в езици с общо предназначение.

Характеристики

Повечето скриптови езици са създадени така, че да бъдат лесни за научаване. Често те могат да бъдат кратки файлове с изходен код или да се въвеждат по една команда в интерфейс с команден ред, който има цикъл за четене, оценка и печат (REPL, language shell). Това обикновено означава прост набор от команди. Възможно е да няма функции или main, просто се изпълнява от началото до края. Ако нещо не работи, програмистът може да направи бързи промени и да го стартира отново. Това прави езика за скриптове добър за създаване на бърз прототип, за да се провери дали дадена идея работи.

Например повечето хора не наричат Java език за скриптове поради дългия синтаксис и правилата за това кои класове в кои файлове съществуват, както и поради факта, че Java не може да се изпълнява интерактивно в REPL. Тя се нуждае от файлове с изходен код, а те могат да съдържат само дефиниции, които трябва да се използват от приемащото приложение или от програмата за стартиране на приложения. (Java не е същото като JavaScript).

Но Python дава възможност за избор - функциите могат да се поставят във файл, може да се изпълнява без функции и да се използва императивен стил на програмиране или дори да се използва интерактивно (да се въвеждат и изпълняват по един ред).

принтиране ("Hello World")

Този един ред от кода на Python отпечатва "Hello World"; не е необходима функция main() или нещо друго.

Скриптовият език обикновено се интерпретира от изходния код или байткода. Все пак нещо трябва да стартира скрипта (да го интерпретира), за да може компютърът да го разбере. Това е приложение или нещо в операционната система. То често се пише на компилиран език и се разпространява под формата на машинен код (като изпълним файл, който няма смисъл за хората).

Езиците за писане на скриптове могат да бъдат проектирани така, че да се използват от хората, които използват дадена програма - разработка за крайния потребител. В други случаи те могат да бъдат създадени от програмисти за тяхна собствена употреба. Езиците за скриптове често използват абстракция - форма на скриване на информация. Това означава, че потребителите не трябва да знаят подробности за типовете променливи, съхранението на данни и управлението на паметта.

Сценариите често се създават или променят от лицето, което ги изпълнява, но някои се споделят или продават на други лица. Например, когато голяма част от игрите са написани на скриптов език. Понякога даден скрипт може да бъде компилиран, преди да го използват други хора. Веднъж компилиран, той ще се изпълнява по-бързо и не се нуждае от друго приложение, за да се изпълнява. А това не позволява на крайните потребители да променят кода.

История

Ранните мейнфрейм компютри (през 50-те години на миналия век) не бяха интерактивни, а използваха скриптове, записани в пакетни файлове. Езикът за управление на задачите (Job Control Language - JCL) на IBM е често срещан пример за език за скриптове, използван за управление на пакетна обработка.

Първите интерактивни обвивки са създадени през 60-те години на миналия век, за да подпомогнат дистанционната работа на първите системи за споделяне на времето. При тях са използвани шел скриптове, които могат да изпълняват компютърни програми в рамките на компютърна програма - шел. На Калвин Муурс в неговия език TRAC обикновено се приписва заслугата за изобретяването на заместването на команди. Това позволява на командите да променят скрипта (самопроменящ се код). Multics нарича тези функции активни функции. Около 1964 г. Луи Пузин пише ранен процесор за командни скриптове, наречен RUNCOM, за CTSS. През 1966 г. Стюарт Мадник от Масачузетския технологичен институт (MIT) пише език за писане на скриптове за CP/CMS на IBM. Първоначално той нарича този процесор COMMAND, а по-късно го нарича EXEC. Multics включваше разклонение на CTSS RUNCOM, също наречено RUNCOM. В крайна сметка EXEC е заменен от EXEC 2 и REXX.

Езици като Tcl и Lua от самото начало бяха създадени като скриптови езици с общо предназначение, които могат да се използват във всяко приложение. Други езици, като Visual Basic for Applications (VBA), можеха да правят много от същото, но трябваше да работят само с определени приложения. Използването на скриптов език с общо предназначение, вместо да се създава нов език за всяко приложение, обикновено улеснява както лицето, което пише приложението, така и потребителя, който пише скриптовете.

Видове скриптови езици

Езици на лепилото

Понякога скриптовете се използват за свързване на различни приложения. Това се нарича слепващ код, а езикът, създаден само за тази цел, е слепващ език. Често срещани примери за езици за свързване са тръбопроводите и скриптовете на шел. Но ако много логика е записана в скриптов файл, по-добре е да мислите за него просто като за друго софтуерно приложение, а не като за "лепило".

Залепващите езици са особено полезни за писане и поддръжка:

  • потребителски команди за команден шел;
  • по-малки програми от тези, които са по-добре реализирани на компилиран език;
  • "обвиващи" програми, които извършват някои автоматизирани действия преди или след стартирането на приложение, като например електронна таблица, база данни, компилатор и др;
  • скриптове, които могат да се променят често;

Примери за езика на лепилото:

  • AppleScript
  • awk
  • JCL
  • Lua
  • m4
  • Perl
  • Скриптове на Unix Shell (ksh, csh, bash, sh и други)
  • VBScript
  • Език на работния поток
  • Windows PowerShell
  • XSLT

Устройства като програмируемите калкулатори също могат да имат свои собствени езици на залепване. Например TI-92 на Texas Instruments по подразбиране може да се програмира с език за скриптове. Калкулаторът TI-NSpire разбира езика Lua. Други разбират някакъв език Basic, а може би Lisp или нещо друго.

Езици за управление на задачи и обвивки

Тази група идва от автоматизацията на управлението на задачите, което е свързано със стартирането и контрола на поведението на системните програми, като се започне от JCL на IBM. Много от интерпретаторите на тези езици работят и като интерпретатори на команден ред, като например Unix shell или MS-DOS COMMAND.COM. Други, като AppleScript, предлагат използването на подобни на английските команди за изграждане на скриптове.

Скриптиране на графичния потребителски интерфейс

При изграждането на графични потребителски интерфейси е необходим начин за тяхното тестване. Създадени са специализирани езици за скриптове, които управляват графични прозорци, менюта, бутони и т.н. точно както би го направил човек. В много случаи те могат да се използват за копиране на точно това, което човек прави (движи мишката, щраква или пише на клавиатурата). Това действие или набор от действия, които се копират и запомнят, се нарича макрос.

Специфични за приложението езици

Много големи приложения включват скриптов език, създаден само за това приложение. Приложението може да е игра или бизнес програма. Този тип език е създаден за едно-единствено приложение. Те изглеждат като език с общо предназначение (например QuakeC, моделиран по C), имат потребителски функции, които ги отличават.

Езици за разширяване/вграждане

Той прилича на специфичен за приложението скриптов език, тъй като управлява едно приложение, но езикът може да се използва в много приложения.

JavaScript започна като език за писане на скриптове в уеб браузърите, но сега е език с общо предназначение за вграждане. Той се използва и в продуктите на Adobe, например.

Някои езици преминават от един тип към друг с течение на времето, обикновено когато добавят възможности за повече неща.

Въпроси и отговори

В: Какво представлява езикът за писане на скриптове?


О: Езикът за писане на скриптове е език за програмиране, който поддържа скриптове.

В: Какво представляват скриптовете?


О: Скриптовете обикновено са кратки компютърни програми, които извършват стъпки, които могат да бъдат извършени една по една от човек.

В: Защо са полезни скриптовете?


О: Това автоматизира дадена работа, за да я направи по-лесна и по-надеждна.

Въпрос: Трудно ли е да се научи език за писане на скриптове?


О: Езикът за писане на скриптове често е по-прост и по-лесен за научаване от други езици, но въпреки това може да прави много неща.

В: Къде могат да се изпълняват скриптове?


О: Скриптовете могат да се изпълняват в друга програма, например в уеб браузър или Microsoft Excel.

Въпрос: Какво представлява обвивката в езиците за писане на скриптове и как се използва?


О: Те могат да бъдат и обвивка, която се изпълнява от интерфейса на командния ред и прави повиквания към операционната система (ОС). Шелът се счита за интерактивен - потребителят може да избере какво да въведе, а шелът отговаря на командата. Те могат да се използват за управление на работни места на мейнфреймове и сървъри.

Въпрос: Може ли един език с общо предназначение да бъде език за скриптове?


О: Някои хора казват, че скриптовият език трябва да е свързан с конкретна употреба. Други използват по-широко определение и включват езици за програмиране с общо предназначение, които се интерпретират, а не компилират. Общото предназначение означава, че той може да се използва по много начини за различни неща. Някои езици с общо предназначение (като Java) имат разновидности, които могат да бъдат скриптирани. Няма конкретно правило за това какво е или не е език за писане на скриптове.

AlegsaOnline.com - 2020 / 2023 - License CC3