Скриптова мова (англ. scripting language) — мова програмування, розроблена для запису «сценаріїв», послідовностей операцій, які користувач може виконувати на комп'ютері. Прості скриптові мови раніше часто називали мовами пакетної обробки (batch languages або job control languages). Сценарії зазвичай інтерпретуються, а не компілюються.
У прикладній програмі, сценарій (скрипт) — це програма, яка автоматизує деяке завдання, яке без сценарію користувач робив би вручну, використовуючи інтерфейс програми. Мови таких скриптів спочатку орієнтувалися на використання як внутрішні керуючі мови у складних системах. Багато хто з них, проте, вийшли за межі сфери свого початкового застосування і використовуються нині в зовсім інших областях. Характерними особливостями даних мов є, по-перше, їх інтерпретованість (компіляція або неможлива, або небажана), по-друге, простий синтаксис, а по-третє, легка розширюваність. Таким чином, вони ідеально підходять для використання в часто змінюваних програмах, дуже невеликих програмах або у випадках, коли для виконання операторів мови витрачається час, незрівнянно більший за час їх синтаксичного розбору інтерпретатором.
Будування розширень програм
Для написання призначених розширень користувача можуть використовуватися як плагіни, так і скрипти. Скриптова мова використовується переважно в таких випадках:
- Якщо потрібно забезпечити програмовість без ризику дестабілізувати систему. Оскільки, на відміну від плагінів, скрипти інтерпретуються, а не компілюються, неправильно написаний скрипт виведе діагностичне повідомлення, а не приведе систему до краху.
- Якщо важливий виразний код. По-перше, чим складніша система, тим більше коду доводиться писати «тому, що це потрібно». По-друге, в скриптовій мові може бути зовсім інша концепція програмування, ніж в основній програмі — наприклад, гра може бути монолітним однопотоковим застосунком, тоді як скрипти, що керують персонажами, виконуються паралельно. По-третє, скриптова мова має власний проблемно-орієнтований набір команд, і один рядок скрипту може робити те ж, що кілька десятків рядків традиційною мовою. Як наслідок, скриптовою мовою може писати програміст дуже низької кваліфікації — наприклад, геймдизайнер своїми руками, не покладаючись на програмістів, може коректувати правила гри.
- Якщо потрібна крос-платформовість. Хорошим прикладом є JavaScript — його виконують браузери під найрізноманітнішими ОС.
З іншого боку, оскільки скрипти інтерпретуються з початкового коду динамічно при кожному виконанні, вони виконуються зазвичай значно повільніше за готові програми, що відтранслюють в машинний код на етапі компіляції. Тому скриптові мови не застосовуються для написання програм, що потребують оптимальності і швидкості виконання. Але через простоту вони часто застосовуються для написання невеликих, одноразових («проблемних») програм.
Також в плані швидкодії скриптові мови можна розділити на мови динамічного розбору (sh, command.com) і передкомпільовані (Perl). Мови динамічного розбору прочитують інструкції з файлу програми мінімально потрібними блоками, і виконують ці блоки, не читаючи подальший код. Передкомпільовані мови спочатку прочитують всю програму, компілюють її всю або в машинний код, або байт-код, або в якийсь внутрішній формат, і лише потім виконують отриманий код.
Типи скриптових мов
Універсальні скриптові мови
Вбудовані в прикладні програми
Командні оболонки
- AppleScript
- sh
- bash
- csh
- JCL
- ksh
- Пакетний файл MS-DOS та командний процесор Microsoft Windows NT
- PowerShell для версій MS Windows з 2006 року
- REXX
Мови з можливістю інтеграції
- Браузерні мови: JavaScript, JScript, VBScript
- ActionScript
- — використовується в редакторі
- Lua
- Sleep
Посилання
- Scripting Languages [ 2 грудня 2017 у Wayback Machine.] (англ.)
- Programming is Hard, Let's Go Scripting… [ 28 липня 2017 у Wayback Machine.] (англ.)
- (англ.)
Це незавершена стаття про програмне забезпечення. Ви можете проєкту, виправивши або дописавши її. |
Ця стаття не містить . (грудень 2017) |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Skriptova mova angl scripting language mova programuvannya rozroblena dlya zapisu scenariyiv poslidovnostej operacij yaki koristuvach mozhe vikonuvati na komp yuteri Prosti skriptovi movi ranishe chasto nazivali movami paketnoyi obrobki batch languages abo job control languages Scenariyi zazvichaj interpretuyutsya a ne kompilyuyutsya U prikladnij programi scenarij skript ce programa yaka avtomatizuye deyake zavdannya yake bez scenariyu koristuvach robiv bi vruchnu vikoristovuyuchi interfejs programi Movi takih skriptiv spochatku oriyentuvalisya na vikoristannya yak vnutrishni keruyuchi movi u skladnih sistemah Bagato hto z nih prote vijshli za mezhi sferi svogo pochatkovogo zastosuvannya i vikoristovuyutsya nini v zovsim inshih oblastyah Harakternimi osoblivostyami danih mov ye po pershe yih interpretovanist kompilyaciya abo nemozhliva abo nebazhana po druge prostij sintaksis a po tretye legka rozshiryuvanist Takim chinom voni idealno pidhodyat dlya vikoristannya v chasto zminyuvanih programah duzhe nevelikih programah abo u vipadkah koli dlya vikonannya operatoriv movi vitrachayetsya chas nezrivnyanno bilshij za chas yih sintaksichnogo rozboru interpretatorom Buduvannya rozshiren programDlya napisannya priznachenih rozshiren koristuvacha mozhut vikoristovuvatisya yak plagini tak i skripti Skriptova mova vikoristovuyetsya perevazhno v takih vipadkah Yaksho potribno zabezpechiti programovist bez riziku destabilizuvati sistemu Oskilki na vidminu vid plaginiv skripti interpretuyutsya a ne kompilyuyutsya nepravilno napisanij skript vivede diagnostichne povidomlennya a ne privede sistemu do krahu Yaksho vazhlivij viraznij kod Po pershe chim skladnisha sistema tim bilshe kodu dovoditsya pisati tomu sho ce potribno Po druge v skriptovij movi mozhe buti zovsim insha koncepciya programuvannya nizh v osnovnij programi napriklad gra mozhe buti monolitnim odnopotokovim zastosunkom todi yak skripti sho keruyut personazhami vikonuyutsya paralelno Po tretye skriptova mova maye vlasnij problemno oriyentovanij nabir komand i odin ryadok skriptu mozhe robiti te zh sho kilka desyatkiv ryadkiv tradicijnoyu movoyu Yak naslidok skriptovoyu movoyu mozhe pisati programist duzhe nizkoyi kvalifikaciyi napriklad gejmdizajner svoyimi rukami ne pokladayuchis na programistiv mozhe korektuvati pravila gri Yaksho potribna kros platformovist Horoshim prikladom ye JavaScript jogo vikonuyut brauzeri pid najriznomanitnishimi OS Z inshogo boku oskilki skripti interpretuyutsya z pochatkovogo kodu dinamichno pri kozhnomu vikonanni voni vikonuyutsya zazvichaj znachno povilnishe za gotovi programi sho vidtranslyuyut v mashinnij kod na etapi kompilyaciyi Tomu skriptovi movi ne zastosovuyutsya dlya napisannya program sho potrebuyut optimalnosti i shvidkosti vikonannya Ale cherez prostotu voni chasto zastosovuyutsya dlya napisannya nevelikih odnorazovih problemnih program Takozh v plani shvidkodiyi skriptovi movi mozhna rozdiliti na movi dinamichnogo rozboru sh command com i peredkompilovani Perl Movi dinamichnogo rozboru prochituyut instrukciyi z fajlu programi minimalno potribnimi blokami i vikonuyut ci bloki ne chitayuchi podalshij kod Peredkompilovani movi spochatku prochituyut vsyu programu kompilyuyut yiyi vsyu abo v mashinnij kod abo bajt kod abo v yakijs vnutrishnij format i lishe potim vikonuyut otrimanij kod Tipi skriptovih movUniversalni skriptovi movi Forth Perl Python PHP Tcl Tool command language Ruby ERM LuaVbudovani v prikladni programi UnrealScript Emacs Lisp AutoLISP VBA script scriptKomandni obolonki AppleScript sh bash csh JCL ksh Paketnij fajl MS DOS ta komandnij procesor Microsoft Windows NT PowerShell dlya versij MS Windows z 2006 roku REXXMovi z mozhlivistyu integraciyi Brauzerni movi JavaScript JScript VBScript ActionScript vikoristovuyetsya v redaktori Lua SleepPosilannyaScripting Languages 2 grudnya 2017 u Wayback Machine angl Programming is Hard Let s Go Scripting 28 lipnya 2017 u Wayback Machine angl angl Ce nezavershena stattya pro programne zabezpechennya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno gruden 2017