Scripting language

A szkriptnyelv olyan programozási nyelv, amely támogatja a szkripteket. A szkriptek általában rövid számítógépes programok, amelyek olyan lépéseket végeznek el, amelyeket egy ember egyenként is el tudna végezni. Ezzel automatizálnak egy munkát, hogy azt könnyebbé és megbízhatóbbá tegyék. Egy szkriptnyelv gyakran egyszerűbb nyelv, és könnyebben megtanulható, mint más nyelvek, de mégis sok mindent tud.

A szkriptek egy másik programon belül is futhatnak, például egy webböngészőben vagy a Microsoft Excelben. Lehetnek egy parancssori felületről futtatott héj is, amely az operációs rendszert (OS) hívja. A shell interaktívnak tekinthető - a felhasználó kiválaszthatja, hogy mit írjon be, és a shell válaszol a parancsra. Ezeket a nagyszámítógépeken és szervereken lévő feladatok vezérlésére lehet használni.

Néhányan azt mondják, hogy egy szkriptnyelvnek egy adott felhasználási területhez kell kötődnie. Mások tágabb definíciót használnak, és általános célú programozási nyelveket is ide sorolnak, amelyeket nem fordítanak, hanem értelmeznek. Az általános célú azt jelenti, hogy sokféleképpen használható különböző dolgokra. Néhány általános célú nyelvnek (például a Java-nak) vannak olyan változatai, amelyek szkriptelhetőek (Javascript). Nincs konkrét szabály arra vonatkozóan, hogy mi az, ami szkriptnyelv, és mi nem az.

Példák

Néhány gyakori példa a szkriptnyelvekre:

  • Bash és C shell, mint a Unix vagy Unix-szerű operációs rendszerek vezérlő nyelvei
  • A más alkalmazásokon belül futó szkripteket kiterjesztési nyelvnek nevezzük. A webböngészők többféle szkriptet engedélyeznek, köztük az ECMAScript (JavaScript) vagy az XUL. A Google kezdőlapja például JavaScriptet használ. A Visual Basic for Applications a Microsoft Office-on belül használatos. A Lua egy kifejezetten kiterjesztő nyelvnek készült nyelv, és számos alkalmazáson belül használható.
  • A szkriptkiterjesztéssel rendelkező játékok közé tartozik a Second Life virtuális világ és a Trainz vasúti szimulátorok. Más játékokban, mint például a Wesnoth, a ténylegesen játszott játékok sokasága más felhasználók által írt szkriptek.
  • Szövegfeldolgozó nyelvek sed és AWK
  • Általános célú: A Perl, a Tcl és a Python magas szintű programozási nyelvek (közelebb állnak az emberi nyelvhez, mint a gépi kódhoz), amelyek sokféle célra használhatók. E nyelvek némelyike először egy bizonyos felhasználási célra készült, majd általános célú nyelvvé alakították át.

Jellemzők

A legtöbb szkriptnyelv úgy készült, hogy könnyen megtanulható legyen. Gyakran vagy rövid fájlokat tartalmaznak forráskóddal, vagy egy-egy parancsot adnak meg egy parancssori felületen, amely egy read-eval-print hurokkal rendelkezik (REPL, language shell). Ez általában egyszerű parancskészletet jelent. Lehet, hogy nincsenek függvények vagy main, csak fut az elejétől a végéig. Ha valami nem működik, a programozó gyorsan változtathat rajta, és újra lefuttathatja. Ez teszi a szkriptnyelveket alkalmassá egy gyors prototípus elkészítésére, hogy lássuk, működik-e egy ötlet.

A Java-t például a legtöbben nem nevezik szkriptnyelvnek, mivel a szintaxis és a szabályok hosszadalmasak arra vonatkozóan, hogy mely osztályok milyen fájlokban léteznek, és mivel a Java nem futtatható interaktívan egy REPL-ben. Szüksége van forráskódot tartalmazó fájlokra, és ezek csak olyan definíciókat tartalmazhatnak, amelyeket egy gazdalkalmazásnak vagy alkalmazásindítónak kell használnia. (A Java nem ugyanaz, mint a JavaScript).

De a Python lehetővé teszi a választást - a függvények elhelyezhetők egy fájlban, futtatható függvények nélkül és imperatív programozási stílusban, vagy akár interaktívan is használható (egy-egy sor beírása és futtatása).

print ("Hello World")

Ez az egy sor Python kód kiírja a "Hello World" szót; nincs szükség main() függvényre vagy bármi másra.

A szkriptnyelveket általában forráskódból vagy bytecode-ból értelmezik. Valaminek azonban le kell futtatnia (értelmeznie) a szkriptet, hogy a számítógép megértse azt. Ez egy alkalmazás, vagy valami az operációs rendszerben. Ezt gyakran fordított nyelven írják, és gépi kód formájában terjesztik (futtatható fájlként, amelynek az ember számára nincs értelme).

A szkriptnyelveket úgy lehet tervezni, hogy a programot használó emberek használják - végfelhasználói fejlesztés. Máskor a programozók saját használatra készítik őket. A szkriptnyelvek gyakran használnak absztrakciót, az információ elrejtésének egy formáját. Ez azt jelenti, hogy a felhasználóknak nem kell ismerniük a változótípusok, az adattárolás és a memóriakezelés részleteit.

A szkripteket gyakran a végrehajtó személy készíti vagy módosítja, de vannak olyanok is, amelyeket megosztanak vagy eladnak másoknak. Például amikor a játékok nagy részét szkriptnyelvvel írják. Néha egy szkriptet lefordítanak, mielőtt mások használnák. Ha már lefordították, gyorsabban fut, és nincs szükség egy másik alkalmazásra a futtatásához. Ez pedig megakadályozza, hogy a végfelhasználók megváltoztassák a kódot.

Történelem

A korai nagyszámítógépek (az 1950-es években) nem voltak interaktívak, hanem kötegelt fájlokban tárolt szkripteket használtak. Az IBM Job Control Language (JCL) az általános példa a kötegelt feldolgozás vezérlésére használt szkriptnyelvre.

Az első interaktív kagylók az 1960-as években készültek, hogy segítsék az első időmegosztó rendszerek távoli üzemeltetését. Ezek héjszkripteket használtak, amelyek egy számítógépes programon, a héjon belül képesek számítógépes programokat futtatni. Calvin Mooersnek a TRAC nyelvében általában azt tulajdonítják, hogy ő találta fel a parancsok helyettesítését. Ez lehetővé teszi, hogy a parancsok megváltoztassák a szkriptet (önmódosító kód). A Multics ezeket aktív függvényeknek nevezi. Louis Pouzin 1964 körül írt egy korai processzort a parancsszkriptekhez RUNCOM néven a CTSS számára. Stuart Madnick az MIT-n 1966-ban írt egy szkriptnyelvet az IBM CP/CMS-éhez. Ezt a processzort eredetileg COMMAND-nak, később EXEC-nek nevezte el. A Multics tartalmazta a CTSS RUNCOM nevű, szintén RUNCOM-nak nevezett mellékágát. Az EXEC-et végül az EXEC 2 és a REXX váltotta fel.

Az olyan nyelveket, mint a Tcl és a Lua, kezdettől fogva úgy tervezték, hogy általános célú szkriptnyelvek legyenek, amelyek bármilyen alkalmazásba beilleszthetők. Más nyelvek, mint például a Visual Basic for Applications (VBA), ugyanezekre a feladatokra voltak alkalmasak, de csak bizonyos alkalmazásokban kellett működniük. Egy általános célú szkriptnyelv használata ahelyett, hogy minden egyes alkalmazáshoz új nyelvet készítenénk, általában megkönnyíti mind az alkalmazás írójának, mind a szkripteket író felhasználónak a dolgát.

A szkriptnyelvek típusai

Ragasztó nyelvek

A szkriptelés néha különböző alkalmazások összekapcsolására szolgál. Ezt nevezik ragasztókódnak, és a csak erre a célra létrehozott nyelv a ragasztónyelv. A csővezetékek és a shell szkriptek gyakori példái a ragasztási nyelveknek. Ha azonban sok logika íródik egy szkriptfájlba, akkor jobb, ha egyszerűen egy másik szoftveralkalmazásként gondolunk rá, nem pedig "ragasztóként".

A ragozási nyelvek különösen hasznosak az íráshoz és a karbantartáshoz:

  • egyéni parancsok egy parancsértelmező héjhoz;
  • kisebb programok, mint azok, amelyek jobban megvalósíthatók egy fordított nyelven;
  • "burkolóprogramok", amelyek egy alkalmazás, például egy táblázatkezelő, adatbázis, fordítóprogram stb. futtatása előtt vagy után végeznek el néhány automatizált dolgot;
  • szkriptek, amelyek gyakran változhatnak;

Példák a ragasztó nyelvére:

  • AppleScript
  • awk
  • JCL
  • Lua
  • m4
  • Perl
  • Unix Shell szkriptek (ksh, csh, bash, sh és mások)
  • VBScript
  • Munkafolyamatok nyelve
  • Windows PowerShell
  • XSLT

Az olyan eszközöknek, mint a programozható számológépek, saját ragasztónyelvük is lehet. Például a Texas Instruments TI-92, a gyári alapértelmezés szerint egy parancsszkript nyelvvel programozható. A TI-NSpire számológép a Lua nyelvet érti. Mások valamilyen Basic nyelvet, esetleg Lispet vagy valami mást értenek.

Munkavezérlő nyelvek és kagylók

Ez a csoport a job control automatizálásából származik, amely a rendszerprogramok indítására és viselkedésének ellenőrzésére vonatkozik, az IBM JCL-től kezdve. Sok ilyen nyelv értelmezője működik parancssori értelmezőként is, mint például a Unix shell vagy az MS-DOS COMMAND.COM. Mások, mint például az AppleScript, angol nyelvű parancsok használatát kínálják szkriptek készítéséhez.

GUI szkriptelés

Grafikus felhasználói felületek készítésekor szükség van a tesztelés módjára. Speciális szkriptnyelvek készültek a grafikus ablakok, menük, gombok stb. vezérlésére, ahogyan azt egy emberi felhasználó tenné. Sokszor ezek segítségével pontosan lemásolható, amit egy ember csinál (egér mozgatása, kattintás vagy gépelés a billentyűzeten). Ezt a másolt és megjegyzett műveletet vagy műveletsort makrónak nevezzük.

Alkalmazásspecifikus nyelvek

Sok nagy alkalmazás tartalmaz egy, csak az adott alkalmazáshoz készített szkriptnyelvezetet. Az alkalmazás lehet játék vagy üzleti program. Az ilyen típusú nyelvek egyetlen alkalmazáshoz készülnek. Úgy néznek ki, mint egy általános célú nyelv (pl. QuakeC, a C után mintázva), egyedi funkciókkal rendelkeznek, amelyek megkülönböztetik őket.

Bővíthető/beágyazható nyelvek

Ez olyan, mint egy alkalmazásspecifikus szkriptnyelv, mivel egy alkalmazást vezérel, de a nyelv számos alkalmazásban használható.

A JavaScript a webböngészőkben történő szkriptelés nyelveként indult, de ma már általános célú beágyazható nyelv. Például az Adobe termékeiben is használják.

Egyes nyelvek idővel egyik típusból a másikba lépnek át, általában azért, mert több dologra is képesek.

Kérdések és válaszok

K: Mi az a szkriptnyelv?


V: A szkriptnyelv vagy szkriptnyelv olyan programozási nyelv, amely támogatja a szkripteket.

K: Mik azok a szkriptek?


V: A szkriptek általában rövid számítógépes programok, amelyek olyan lépéseket végeznek el, amelyeket egy ember is elvégezhetne egyenként.

K: Miért hasznosak a szkriptek?


V: Automatizálnak egy munkát, hogy könnyebbé és megbízhatóbbá tegyék azt.

K: Nehéz megtanulni a szkriptnyelveket?


V: A szkriptnyelv gyakran egyszerűbb nyelv, és könnyebben megtanulható, mint más nyelvek, de mégis sok mindenre képes.

K: Hol futtathatók a szkriptek?


V: A szkriptek egy másik programon belül is futhatnak, például egy webböngészőben vagy a Microsoft Excelben.

K: Mi a shell a szkriptnyelvekben, és hogyan használják?


V: Ezek lehetnek olyan héjak is, amelyek parancssori felületről futnak, és hívásokat intéznek az operációs rendszerhez (OS). A héj interaktívnak tekinthető - a felhasználó kiválaszthatja, hogy mit írjon be, és a héj válaszol a parancsra. Ezeket lehet használni a nagyszámítógépeken és szervereken lévő feladatok vezérlésére.

K: Lehet-e egy általános célú nyelv szkriptnyelv?


V: Egyesek szerint egy szkriptnyelvnek meghatározott felhasználási területhez kell kötődnie. Mások tágabb definíciót használnak, és olyan általános célú programozási nyelveket is ide sorolnak, amelyeket nem fordítanak, hanem értelmeznek. Az általános célú azt jelenti, hogy sokféleképpen használható különböző dolgokra. Néhány általános célú nyelvnek (például a Java-nak) vannak olyan változatai, amelyek szkriptelhetőek. Nincs konkrét szabály arra vonatkozóan, hogy mi az, ami szkriptnyelv, és mi nem az.

AlegsaOnline.com - 2020 / 2023 - License CC3