Skriptovací jazyk: Porovnání verzí

Z Wikipedie, otevřené encyklopedie
Smazaný obsah Přidaný obsah
Řádek 36: Řádek 36:


[[Kategorie:Programování]]
[[Kategorie:Programování]]
[[Kategorie:Paradigmata programování]]


[[ar:لغة برمجة نصية]]
[[ar:لغة برمجة نصية]]

Verze z 2. 9. 2010, 15:44

Skript je v informatice zdrojový kód programu, který je tzv. interpretován, tj. čten a vykonáván za běhu speciálním procesem, tzv. interpretem.

Jakožto programový kód, je i skript vytvořen v programovacím jazyku (hovoří se o tzv. skriptovacím jazyku), který má přesně stanovenou formální gramatiku (tj. pravidla, syntaktické elementy, jazykové konstrukty atd).

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ě.

Protikladem k interpretovanému kódu je program přeložený (kompilovaný) do strojového kódu.

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 (jako například funkce eval() v PHP). Něco takového překládané programy z principu nedokáží.
  • Interpret obvykle poskytuje programátorovi zabudovaný abstraktní datový typ asociativní pole.

Nevýhody

  • 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).

Typické znaky skriptů

Návrh skriptovacího jazyka často zohledňuje rychlý vývoj programu a tak umožňují některé prvky, které v překládaných jazycích nenajdeme. Jedná se například o:

  • netypové proměnné,
  • automatické nastavení hodnot u nedefinovaných proměnných a konstant,
  • zotavení z chyb, které neústí v ukončení skriptu.

Podoba skriptů

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.

Také unixové shelly je možno považovat za skriptovací jazyky. Skriptovací jazyky se často využívají i v prostředí webových aplikací. Příklady skriptovacích jazyků jsou: Python, PHP, JavaScript, Perl, Tcl/Tk, Ruby atd.

Související články