Skriptovací jazyk

Skriptovací jazyk je programovací jazyk, který podporuje skripty. Skripty jsou obvykle krátké počítačové programy, které provádějí kroky, jež by mohl člověk provádět po jednom. Tím se práce automatizuje, aby byla jednodušší a spolehlivější. Skriptovací jazyk je často jednodušší jazyk a snadněji se učí než jiné jazyky, ale přesto dokáže mnoho věcí.

Skripty mohou být spuštěny uvnitř jiného programu, například ve webovém prohlížeči nebo v aplikaci Microsoft Excel. Mohou být také shellem, který se spouští z rozhraní příkazového řádku a volá operační systém (OS). Shell je považován za interaktivní - uživatel může zvolit, co má zadat, a shell na příkaz reaguje. Lze je použít k ovládání úloh na mainframech a serverech.

Někteří lidé tvrdí, že skriptovací jazyk musí být vázán na konkrétní použití. Jiní používají širší definici a zahrnují do ní i univerzální programovací jazyky, které jsou interpretované, nikoli kompilované. Obecný znamená, že jej lze použít mnoha způsoby pro různé věci. Některé univerzální jazyky (například Java) mají varianty, které lze skriptovat (Javascript). Neexistuje žádné konkrétní pravidlo, co je nebo není skriptovací jazyk.

Příklady

Některé běžné příklady skriptovacích jazyků:

  • Bash a C shell jako ovládací jazyky pro operační systémy Unix nebo Unixu podobné.
  • Skripty, které se spouštějí uvnitř jiných aplikací, se nazývají rozšiřující jazyk. Webové prohlížeče umožňují několik druhů skriptů, včetně ECMAScriptu (JavaScript) nebo XUL. Například domovská stránka Google používá JavaScript. Uvnitř sady Microsoft Office se používá Visual Basic for Applications. Jazyk Lua je záměrně vytvořen jako rozšiřující jazyk a lze jej používat v rámci mnoha aplikací.
  • Mezi hry, které mají skriptovací rozšíření, patří virtuální svět Second Life a železniční simulátory Trainz. V jiných hrách, jako je Wesnoth, tvoří řadu skutečných her skripty napsané jinými uživateli.
  • Jazyky pro zpracování textu sed a AWK
  • Obecné použití: Perl, Tcl a Python jsou vysokoúrovňové programovací jazyky (bližší lidskému jazyku než strojovému kódu), které lze použít k mnoha různým účelům. Některé z těchto jazyků byly nejprve vytvořeny pro konkrétní použití a poté byly změněny na jazyky pro všeobecné použití.

Vlastnosti

Většina skriptovacích jazyků je vytvořena tak, aby se dala snadno naučit. Často se jedná buď o krátké soubory se zdrojovým kódem, nebo se zadávají po jednom příkazu v rozhraní příkazového řádku, které má smyčku čtení-vyhodnocení-tisk (REPL, language shell). To obvykle znamená jednoduchou sadu příkazů. Nemusí existovat funkce ani main, prostě se spustí od začátku do konce. Pokud něco nefunguje, může programátor provést rychlé změny a spustit to znovu. Díky tomu je skriptovací jazyk vhodný pro vytvoření rychlého prototypu, aby se zjistilo, zda nějaký nápad funguje.

Většina lidí například nenazývá Javu skriptovacím jazykem kvůli její zdlouhavé syntaxi a pravidlům o tom, které třídy existují v kterých souborech, a protože Javu nelze interaktivně spouštět v REPL. Potřebuje soubory se zdrojovým kódem a ty mohou obsahovat pouze definice, které musí být použity hostitelskou aplikací nebo spouštěčem aplikací. (Java není totéž co JavaScript).

Python však umožňuje volbu - funkce lze umístit do souboru, lze jej spustit bez funkcí a použít imperativní styl programování, nebo jej dokonce používat interaktivně (psát a spouštět po řádcích).

print ("Hello World")

Tento jediný řádek kódu Pythonu vypíše "Hello World"; není potřeba žádná funkce main() ani nic jiného.

Skriptovací jazyk je obvykle interpretován ze zdrojového kódu nebo bajtkódu. Něco však musí skript spustit (interpretovat), aby mu počítač rozuměl. To je aplikace nebo něco v operačním systému. Ta je často napsána v kompilovaném jazyce a distribuována ve formě strojového kódu (jako spustitelný soubor, který člověku nedává smysl).

Skriptovací jazyky mohou být navrženy tak, aby je mohli používat lidé, kteří program používají - vývoj pro koncové uživatele. Jindy je mohou vytvářet programátoři pro vlastní potřebu. Skriptovací jazyky často používají abstrakci, což je forma skrývání informací. To znamená, že uživatelé nemusí znát podrobnosti o typech proměnných, ukládání dat a správě paměti.

Skripty často vytváří nebo mění osoba, která je provádí, ale některé jsou sdíleny nebo prodávány jiným osobám. Například když jsou velké části her napsány ve skriptovacím jazyce. Někdy může být skript zkompilován předtím, než jej začnou používat ostatní. Jakmile je jednou zkompilován, běží rychleji a nepotřebuje ke svému spuštění další aplikaci. A tím se zabrání koncovým uživatelům ve změně kódu.

Historie

První sálové počítače (v 50. letech 20. století) nebyly interaktivní, ale používaly skripty uložené v dávkových souborech. Běžným příkladem skriptovacího jazyka používaného k řízení dávkového zpracování je jazyk JCL (Job Control Language) společnosti IBM.

První interaktivní skořápky byly vytvořeny v 60. letech 20. století, aby usnadnily vzdálené ovládání prvních systémů pro sdílení času. Ty používaly shellové skripty, které mohou spouštět počítačové programy v rámci počítačového programu, shellu. Calvinu Mooersovi se v jeho jazyce TRAC obecně připisují zásluhy za vynález nahrazování příkazů. Ta umožňuje příkazům měnit skript (samomodifikující se kód). Multics tyto příkazy nazývá aktivní funkce. Louis Pouzin napsal kolem roku 1964 pro CTSS raný procesor pro příkazové skripty nazvaný RUNCOM. Stuart Madnick z MIT napsal v roce 1966 skriptovací jazyk pro CP/CMS společnosti IBM. Původně tento procesor nazval COMMAND, později jej pojmenoval EXEC. Multics obsahoval odnož CTSS RUNCOM, rovněž nazvanou RUNCOM. EXEC byl nakonec nahrazen EXEC 2 a REXX.

Jazyky jako Tcl a Lua byly od počátku vytvářeny jako univerzální skriptovací jazyky, které lze použít v jakékoli aplikaci. Jiné jazyky, jako například Visual Basic for Applications (VBA), uměly mnoho podobného, ale musely pracovat pouze s určitými aplikacemi. Použití univerzálního skriptovacího jazyka namísto vytváření nového jazyka pro každou aplikaci obvykle usnadňuje práci jak osobě, která píše aplikaci, tak uživateli, který píše skripty.

Typy skriptovacích jazyků

Jazyky lepidla

Skriptování se někdy používá k propojení různých aplikací. Tomu se říká slepený kód a jazyk vytvořený právě pro tento účel je slepený jazyk. Běžným příkladem spojovacích jazyků jsou pipeline a shell skriptování. Pokud je však ve skriptovacím souboru zapsáno velké množství logiky, je lepší o něm uvažovat jako o prosté další softwarové aplikaci, nikoli jako o "lepidle".

Lepicí jazyky jsou užitečné zejména při psaní a údržbě:

  • vlastní příkazy pro příkazový řádek;
  • menší programy než ty, které jsou lépe implementovány v kompilovaném jazyce;
  • "obalové" programy, které provádějí některé automatizované činnosti před nebo po spuštění aplikace, jako je tabulkový procesor, databáze, překladač atd.;
  • skripty, které se mohou často měnit;

Příklady jazyka lepidla:

  • AppleScript
  • awk
  • JCL
  • Lua
  • m4
  • Perl
  • Skripty Unix Shell (ksh, csh, bash, sh a další)
  • VBScript
  • Jazyk pracovních toků
  • Prostředí Windows PowerShell
  • XSLT

Zařízení, jako jsou programovatelné kalkulačky, mohou mít také vlastní lepicí jazyky. Například kalkulátor Texas Instruments TI-92 lze z výroby naprogramovat pomocí jazyka příkazových skriptů. Kalkulačka TI-NSpire rozumí jazyku Lua. Jiné rozumějí nějakému jazyku Basic nebo třeba Lisp či něčemu jinému.

Jazyky pro řízení úloh a shelly

Tato skupina pochází z automatizace řízení úloh, která se týká spouštění a řízení chování systémových programů, počínaje JCL společnosti IBM. Mnoho interpretů těchto jazyků funguje také jako interprety příkazového řádku, například unixový shell nebo MS-DOS COMMAND.COM. Jiné, jako například AppleScript, nabízejí použití příkazů podobných anglickým pro vytváření skriptů.

Skriptování grafického uživatelského rozhraní

Při tvorbě grafických uživatelských rozhraní je nutné je testovat. Byly vytvořeny specializované skriptovací jazyky, které umožňují ovládat grafická okna, nabídky, tlačítka atd. stejně jako lidský uživatel. Mnohdy lze pomocí nich přesně kopírovat to, co dělá člověk (pohyb myší, klikání nebo psaní na klávesnici). Takováto zkopírovaná a zapamatovaná akce nebo sada akcí se nazývá makro.

Jazyky specifické pro aplikace

Mnoho velkých aplikací obsahuje skriptovací jazyk vytvořený právě pro tuto aplikaci. Aplikace může být hra nebo obchodní program. Tento typ jazyka je vytvořen pro jednu aplikaci. Tváří se jako univerzální jazyk (např. QuakeC, po vzoru jazyka C), mají vlastní vlastnosti, které je odlišují.

Jazyky, které lze rozšířit/začlenit

Jedná se o podobný skriptovací jazyk, který ovládá aplikaci, ale lze jej použít v mnoha aplikacích.

JavaScript vznikl jako jazyk pro skriptování ve webových prohlížečích, ale nyní je to univerzální jazyk pro vkládání. Používá se také například v produktech společnosti Adobe.

Některé jazyky časem přecházejí z jednoho typu na druhý, obvykle s tím, jak přibývají další možnosti.

Otázky a odpovědi

Otázka: Co je to skriptovací jazyk?


Odpověď: Skriptovací nebo skriptovací jazyk je programovací jazyk, který podporuje skripty.

Otázka: Co jsou to skripty?


A: Skripty jsou obvykle krátké počítačové programy, které provádějí kroky, jež by mohl člověk provést jeden po druhém.

Otázka: Proč jsou skripty užitečné?


Odpověď: Automatizují práci, aby byla jednodušší a spolehlivější.

Otázka: Je obtížné naučit se skriptovací jazyk?


Odpověď: Skriptovací jazyk je často jednodušší jazyk, který se učí snadněji než jiné jazyky, ale přesto dokáže mnoho věcí.

Otázka: Kde se mohou skripty spouštět?


Odpověď: Skripty mohou běžet uvnitř jiného programu, například ve webovém prohlížeči nebo v aplikaci Microsoft Excel.

Otázka: Co je to shell ve skriptovacích jazycích a jak se používá?


Odpověď: Mohou být také shellem, který se spouští z rozhraní příkazového řádku a provádí volání operačního systému (OS). Shell je považován za interaktivní - uživatel si může vybrat, co zadá, a shell na příkaz reaguje. Lze je použít k řízení úloh na mainframech a serverech.

Otázka: Může být jazyk pro obecné použití skriptovacím jazykem?


Odpověď: Někteří lidé tvrdí, že skriptovací jazyk musí být vázán na konkrétní použití. Jiní používají širší definici a zahrnují i univerzální programovací jazyky, které jsou interpretované, nikoli kompilované. Obecný jazyk znamená, že jej lze použít mnoha způsoby k různým účelům. Některé univerzální jazyky (například Java) mají varianty, které lze skriptovat. Neexistuje žádné konkrétní pravidlo, co je nebo není skriptovací jazyk.

AlegsaOnline.com - 2020 / 2023 - License CC3