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

от Уикипедия, свободната енциклопедия

Скриптов език в информационните технологии се нарича език за програмиране, при който изходният код на програмите се изпълнява директно. За да се изпълни този изходен код, се използва специална програма, която се нарича интерпретатор. Алтернативният метод за изпълняване на програми е чрез компилиране. Изходният код на програма, която е написана на скриптов език за програмиране, се нарича скрипт.

Скриптовият език е програмен език, позволяващ контрол върху софтуерни приложения. „Скриптовете“ се различават от същинския код на приложението, което обикновено е написано на друг език и често се създават или променят от крайния потребител. Скриптовите езици почти винаги са вградени в приложенията, които контролират.

Думата „скрипт“ идва от писмения сценарии при актьорството, при което всеки диалог се изпълнява от актьори. Ранните скриптови езици често са наричани batch (пакетни) езици или езици за контролиране на задачи. Скриптовите езици първоначално са били създадени за да съкратят обичайния процес по промяна-компилиране-свързване-изпълнение на код.

Често ползван пример за скриптов език е при уеб браузърите като Firefox. Firefox е написан на C/C++ и може да бъде контролиран от JavaScript.

Предимства и недостатъци на скриптовите езици[редактиране | редактиране на кода]

Предимства[редактиране | редактиране на кода]

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

Недостатъци[редактиране | редактиране на кода]

  • Обикновено програмите, написани на такива езици, работят в пъти по-бавно от програмите, които се компилират.
  • Сорс кодът на програмите не може да бъде скрит

Видове скриптови езици[редактиране | редактиране на кода]

Езици за управление на задачи и shell[редактиране | редактиране на кода]

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

Скриптове за графичен потребителски интерфейс (GUI)[редактиране | редактиране на кода]

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

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

Езици, специфични за приложение[редактиране | редактиране на кода]

Някои мащабни приложения включват идиоматичен скриптов език, пригоден за нуждите на потребителите на приложението. Много компютърни игри ползват специализиран скриптов език за да изразят програмните действия на роля, която не участва в играта. Езиците от този тип са проектирани само за едно приложение, макар че наподобяват скриптови езици с обща цел. Emacs Lisp е напълно завършен и действащ диалект на Lisp, но съдържа много специални характеристики които го правят най-полезен при разширяване на функциите на Emacs.

Уеб браузъри[редактиране | редактиране на кода]

Уеб браузърите са приложения, визуализиращи уеб страници. Създадени са много езици със специфична цел за да контролират тяхното действие. Това са JavaScript, скриптов език, различен от Java(единственото общо между Java и JavaScript е думата Java); VBScript от Microsoft, който работи само с Internet Explorer; XUL от Mozilla project, предназначен за Firefox; и XSLT, презентационен език, трансформиращ съдържание на XML в нова форма. Техниките, комбиниращи XML и JavaScript за подобрение на представата на потребителя за отзивчивост се наричат AJAX.

Уеб услуги[редактиране | редактиране на кода]

От страната на сървъра при HTTP връзка, приложни сървъри и други сървъри за динамично съдържание като системи за управление на уеб съдържание предоставят съдържание през голямо разнообразие от техники и технологии типизирани чрез подхода, базиран на скриптови езици. Такива езици са PHP, JSP и ASP, както и Ruby.

Езици за обработка на текст[редактиране | редактиране на кода]

Обработката на текстово базирани записи е едно от най-старите приложения на скриптови езици. Скриптовите езици, написани за Unix инструменти AWK, sed, и grep автоматизират задачи, свързани с конфигурация, базирана на текст и лог файлове. Perl.

Динамични езици с обща цел[редактиране | редактиране на кода]

Някои езици като Perl, са започнали като скриптови езици, но са се развили в програмни езици, подходящи за широк обхват от цели. Други подобни езици – често интерпретирани, memory-managed, или динамични се описват като скриптови езици, въпреки че се ползват за разработка на приложения.

Разширяеми или вградени езици[редактиране | редактиране на кода]

Множество езици са били проектирани с цел заместване на скриптови езици, специфични за приложението като се могат да се вградят в програмата. Програмиста на приложението (работещ на C или друг системен език) включва „кукички“, където може да се постави скриптов език, контролиращ приложението. Тези езици позволяват пренос на умения между приложенията. JavaScript в началото и все още е скриптов език, предназначен за браузър, но стандартизации на езика като ECMAScript са го направили популярен като език за вграждане. Други примери са Mozilla – SpiderMonkey, вграден в Yahoo! Widget Engine и др. Други приложения вграждащи ECMAScript включват продукти на Adobe Adobe Flash (ActionScript) и Adobe Acrobat (за скриптиране на PDF файлове).

Известни скриптови езици за програмиране[редактиране | редактиране на кода]

Вижте също[редактиране | редактиране на кода]