Skriptovací jazyk: Porovnání verzí
Změna odkazu z Interpret na Interpretovaný jazyk |
Doplnění kritérií pro skriptovací jazyky a odkazu na Intepretovaný jazyk |
||
Řádek 1: | Řádek 1: | ||
'''Skriptovací jazyk''' je [[Interpretovaný jazyk|interpretovaný]] [[programovací jazyk]], který je navržen s ohledem na snadné ovládnutí jazyka a rychlý a pohodlný vývoj programů. |
'''Skriptovací jazyk''' je [[Interpretovaný jazyk|interpretovaný]] [[programovací jazyk]], který je navržen s ohledem na snadné ovládnutí jazyka a rychlý a pohodlný vývoj programů. |
||
Obecně přijímaná definice, jaké vlastnosti musí mít ''skriptovací jazyk'', neexistuje; obvykle se za skriptovací jazyky považují programovací jazyky s následujícími vlastnostmi: |
|||
* [[Interpretovaný jazyk]] |
|||
* Umožňuje automatizovat úlohy, které by jinak musel provádět krok po kroku člověk (operátor) |
|||
* Vysoká [[expresivita]] – užitečné skripty se mohou skládat pouze z několika málo [[příkaz]]ů |
|||
* Pro vykonávání příkazů se spouštějí samostatné programy |
|||
* Minimalistická [[syntax]]e a často i repertoár základních [[funkce (programování)|funkcí]] |
|||
* Obsahuje nástroje pro [[regulární výraz|zpracování textů]] |
|||
* Používá [[Typová_kontrola#Dynamická typová kontrola|dynamickou typovou kontrolu]] – automaticky podle potřeby konvertuje data mezi [[textový řetězec|řetězci]], čísly, logickými hodnotami |
|||
* Podporuje práci se složitějšími [[Datový typ|datovými typy]] jako jsou seznamy a [[asociativní pole]], bez potřeby starat se o [[správa paměti|uvolňování paměti]] |
|||
* Není třeba [[deklarace (programování)|deklarovat proměnné]] |
|||
⚫ | |||
⚫ | |||
K typickým zástupcům skriptovacích jazyků se počítají například [[Python]], [[PHP]], [[JavaScript]], [[Perl]], [[Tcl]], [[Ruby (programovací jazyk)|Ruby]]. Také [[unixový shell]] je možno považovat za skriptovací jazyk. Skriptovací jazyky se často využívají v prostředí [[webová aplikace|webových aplikací]]. |
|||
== Skripty == |
== Skripty == |
||
Řádek 7: | Řádek 23: | ||
Úroveň skriptů a jejich jazyků se může velice lišit. Některé skriptovací jazyky (např. [[Python]] nebo [[PHP]]) nabízejí finesy jako třeba [[objektově orientované programování]]. Na druhou stranu, jiné soubory, které obsahují toliko konfigurační parametry jiného programu, mohou být též označovány jako skripty. Většinou by ale skriptovací jazyk měl být alespoň na takové úrovni, aby dovoloval pracovat s proměnnými nebo umožňovat větvení programu. |
Úroveň skriptů a jejich jazyků se může velice lišit. Některé skriptovací jazyky (např. [[Python]] nebo [[PHP]]) nabízejí finesy jako třeba [[objektově orientované programování]]. Na druhou stranu, jiné soubory, které obsahují toliko konfigurační parametry jiného programu, mohou být též označovány jako skripty. Většinou by ale skriptovací jazyk měl být alespoň na takové úrovni, aby dovoloval pracovat s proměnnými nebo umožňovat větvení programu. |
||
== Charakteristické vlastnosti == |
|||
Návrh skriptovacího jazyka často zohledňuje rychlý vývoj programu a tak obsahují některé prvky, které v překládaných jazycích většinou nenajdeme. K nim patří: |
|||
* [[Typová kontrola#Dynamická typová kontrola|Dynamická typová kontrola]]. |
|||
⚫ | |||
⚫ | |||
* Pokročilé datové typy, například [[asociativní pole]]. |
|||
* Zabudovaná podpora pro zpracování [[regulární výraz|regulárních výrazů]]. |
|||
== Výhody == |
== Výhody == |
||
Řádek 28: | Řádek 36: | ||
== Související články == |
== Související články == |
||
* [[Interpretovaný jazyk]] |
|||
* [[Dávkový soubor]] |
* [[Dávkový soubor]] |
||
* [[Shellový skript]] |
* [[Shellový skript]] |
Verze z 19. 9. 2012, 20:24
Skriptovací jazyk je interpretovaný programovací jazyk, který je navržen s ohledem na snadné ovládnutí jazyka a rychlý a pohodlný vývoj programů.
Obecně přijímaná definice, jaké vlastnosti musí mít skriptovací jazyk, neexistuje; obvykle se za skriptovací jazyky považují programovací jazyky s následujícími vlastnostmi:
- Interpretovaný jazyk
- Umožňuje automatizovat úlohy, které by jinak musel provádět krok po kroku člověk (operátor)
- Vysoká expresivita – užitečné skripty se mohou skládat pouze z několika málo příkazů
- Pro vykonávání příkazů se spouštějí samostatné programy
- Minimalistická syntaxe a často i repertoár základních funkcí
- Obsahuje nástroje pro zpracování textů
- Používá dynamickou typovou kontrolu – automaticky podle potřeby konvertuje data mezi řetězci, čísly, logickými hodnotami
- Podporuje práci se složitějšími datovými typy jako jsou seznamy a asociativní pole, bez potřeby starat se o uvolňování paměti
- Není třeba deklarovat proměnné
- Automatické nastavení hodnot u nedefinovaných proměnných a konstant
- Zotavení z chyb, které neústí v ukončení skriptu
K typickým zástupcům skriptovacích jazyků se počítají například Python, PHP, JavaScript, Perl, Tcl, Ruby. Také unixový shell je možno považovat za skriptovací jazyk. Skriptovací jazyky se často využívají v prostředí webových aplikací.
Skripty
Program zapsaný ve skriptovacím jazyce se označuje jako skript. Typicky skript těží z výhody, že se nemusí překládat, a často tvoří rozšiřitelnou (parametrickou) část nějakého softwarového projektu, která se může měnit, aniž by bylo potřeba pokaždé rekompilovat hlavní spustitelný soubor. Tak skripty najdeme u her, složitějších softwarových řešení nebo jako hlavní součást dynamických internetových stránek a podobně.
Některé programovací jazyky mají možnost kompilace do strojového kódu i interpretace; jiné umožňují i mezistupeň, předkompilování do vnitřního jazyka, jehož vykonávání je rychlejší než klasická interpretace. Například programy v jazyku QBasic splňují kritéria skriptů, ale obecně se považují za programy. Hranice mezi takovými programy a skripty tedy není zcela ostrá.
Úroveň skriptů a jejich jazyků se může velice lišit. Některé skriptovací jazyky (např. Python nebo PHP) nabízejí finesy jako třeba objektově orientované programování. Na druhou stranu, jiné soubory, které obsahují toliko konfigurační parametry jiného programu, mohou být též označovány jako skripty. Většinou by ale skriptovací jazyk měl být alespoň na takové úrovni, aby dovoloval pracovat s proměnnými nebo umožňovat větvení programu.
Výhody
- Není nutné mít nainstalovaný kompilátor a provádět po každé změně kódu kompilaci.
- Snadnější údržba, vývoj a správa kódu.
- Některé skripty umožňují interpretaci kódu z řetězce (funkce typicky pojmenovaná eval). Něco takového překládané programy z principu nedokáží.
Nevýhody
- Nižší rychlost. Interpretace stojí určitý strojový čas a nikdy nebude tak rychlá jako spouštění přeloženého (a optimalizovaného) programu.
- O trochu vyšší paměťová náročnost. Interpret musí být spuštěn a tedy zabírá určitou operační paměť.
- Skriptovací jazyky mají většinou větší omezení než překládané programovací jazyky (např. co do přístupu do paměti, ovládání tzv. rukojetí procesů a kontextových zařízení apod).
- Snadné zavlečení některých chyb a jejich obtížné odhalování (důsledek automatické inicializace a dynamického typování).
Související články
Externí odkazy
- Skriptovací programovací jazyky (Jiří Václavovič)
- (anglicky) Scripting Language wiki
- (anglicky) Scripting: Higher Level Programming for the 21st Century (John K. Ousterhout, IEEE Computer magazine, březen 1998)