Komentokieli

Skripti- tai skriptikieli on ohjelmointikieli, joka tukee skriptejä. Skriptit ovat yleensä lyhyitä tietokoneohjelmia, jotka tekevät vaiheita, jotka ihminen voisi tehdä yksi kerrallaan. Näin työ automatisoidaan ja siitä tehdään helpompaa ja luotettavampaa. Skriptikieli on usein yksinkertaisempi kieli ja helpompi oppia kuin muut kielet, mutta sillä voi silti tehdä monia asioita.

Skriptit voivat toimia toisen ohjelman sisällä, kuten verkkoselaimessa tai Microsoft Excelissä. Ne voivat olla myös komentorivikäyttöliittymästä suoritettava komentotulkki, joka tekee kutsuja käyttöjärjestelmään. Komentotulkkia pidetään vuorovaikutteisena - käyttäjä voi valita, mitä kirjoittaa, ja komentotulkki vastaa komentoon. Niitä voidaan käyttää suurtietokoneiden ja palvelimien työtehtävien ohjaamiseen.

Jotkut sanovat, että komentosarjakielen on oltava sidottu tiettyyn käyttötarkoitukseen. Toiset taas käyttävät laajempaa määritelmää ja sisällyttävät siihen yleiskäyttöiset ohjelmointikielet, jotka ovat tulkattuja, eivät käännettyjä. Yleiskäyttöinen tarkoittaa, että sitä voidaan käyttää monin eri tavoin eri asioihin. Joillakin yleiskäyttöisillä kielillä (kuten Javalla) on muunnelmia, joita voidaan skriptata (Javascript). Ei ole olemassa mitään erityistä sääntöä siitä, mikä on tai ei ole skriptikieli.

Esimerkkejä

Joitakin yleisiä esimerkkejä skriptikielistä:

  • Bash- ja C-komentosuorittimet Unix- tai Unixin kaltaisten käyttöjärjestelmien ohjauskielinä.
  • Toisen sovelluksen sisällä suoritettavia skriptejä kutsutaan laajennuskieliksi. Web-selaimet sallivat useita erilaisia skriptejä, kuten ECMAScript (JavaScript) tai XUL. Esimerkiksi Googlen etusivulla käytetään JavaScriptiä. Microsoft Officen sisällä käytetään Visual Basic for Applications -ohjelmaa. Lua on tarkoituksella laajennuskieleksi tehty kieli, ja sitä voidaan käyttää monien sovellusten sisällä.
  • Pelejä, joissa on skriptauslaajennuksia, ovat esimerkiksi Second Life -virtuaalimaailma ja Trainz-rautatiesimulaattorit. Muissa peleissä, kuten Wesnothissa, monet varsinaiset pelit ovat muiden käyttäjien kirjoittamia skriptejä.
  • Tekstinkäsittelykielet sed ja AWK
  • Yleiskäyttö: Perl, Tcl ja Python ovat korkean tason ohjelmointikieliä (lähempänä ihmisten kieltä kuin konekoodia), joita voidaan käyttää moniin eri tarkoituksiin. Jotkin näistä kielistä tehtiin ensin tiettyä käyttötarkoitusta varten, minkä jälkeen ne muutettiin yleiskieliksi.

Ominaisuudet

Useimmat skriptikielet on tehty helposti opittaviksi. Ne voivat usein olla joko lyhyitä tiedostoja, joissa on lähdekoodi, tai ne voidaan syöttää yksi komento kerrallaan komentorivikäyttöliittymässä, jossa on read-eval-print-silmukka (REPL, language shell). Tämä tarkoittaa yleensä yksinkertaista komentosarjaa. Siinä ei välttämättä ole funktioita tai pääohjelmaa, vaan se vain suoritetaan alusta loppuun. Jos jokin ei toimi, ohjelmoija voi tehdä nopeita muutoksia ja ajaa sen uudelleen. Tämän vuoksi skriptikieli sopii hyvin nopean prototyypin tekemiseen, jotta nähdään, toimiiko jokin idea.

Useimmat ihmiset eivät esimerkiksi kutsu Javaa skriptikieleksi, koska sen syntaksi on pitkä ja koska siinä on sääntöjä siitä, mitkä luokat ovat missäkin tiedostossa, ja koska Javaa ei voi suorittaa vuorovaikutteisesti REPL:ssä. Se tarvitsee tiedostoja, joissa on lähdekoodi, ja ne voivat sisältää vain määritelmiä, joita isäntäsovelluksen tai sovelluksen käynnistimen on käytettävä. (Java ei ole sama kuin JavaScript).

Python antaa kuitenkin valinnanvaraa - funktiot voidaan laittaa tiedostoon, sitä voidaan ajaa ilman funktioita ja käyttää imperatiivista ohjelmointityyliä, tai sitä voidaan käyttää jopa vuorovaikutteisesti (kirjoita ja suorita yksi rivi kerrallaan).

print ("Hello World")

Tämä yksi rivi Python-koodia tulostaa "Hello World"; main()-funktiota tai mitään muutakaan ei tarvita.

Skriptikieli tulkitaan yleensä lähdekoodista tai tavukoodista. Jonkin on kuitenkin ajettava skripti (tulkattava se), jotta tietokone ymmärtää sen. Tämä on sovellus tai jokin käyttöjärjestelmässä oleva asia. Se on usein kirjoitettu käännetyllä kielellä ja jaettu konekoodin muodossa (suoritettavana tiedostona, joka ei ole ihmiselle järkevä).

Komentosarjakielet voidaan suunnitella ohjelman käyttäjien käyttöön - loppukäyttäjien kehittäminen. Toisinaan ohjelmoijat voivat rakentaa niitä omaan käyttöönsä. Skriptikielissä käytetään usein abstraktiota, joka on eräänlainen tiedon piilottamisen muoto. Tämä tarkoittaa sitä, että käyttäjien ei tarvitse tietää muuttujatyyppien, tietojen tallennuksen ja muistinhallinnan yksityiskohtia.

Usein käsikirjoituksia tekee tai muuttaa niiden toteuttaja, mutta joitakin niistä jaetaan tai myydään muille. Esimerkiksi kun suuri osa peleistä on kirjoitettu skriptikielellä. Joskus skripti voidaan kääntää ennen kuin muut käyttävät sitä. Kun se on käännetty, se toimii nopeammin, eikä sen suorittamiseen tarvita toista sovellusta. Ja tämä estää loppukäyttäjiä muuttamasta koodia.

Historia

Varhaiset suurtietokoneet (1950-luvulla) eivät olleet vuorovaikutteisia, vaan niissä käytettiin eräajotiedostoihin tallennettuja komentosarjoja. IBM:n Job Control Language (JCL) on yleinen esimerkki komentosarjakielestä, jota käytettiin eräajotiedostojen käsittelyn ohjaamiseen.

Ensimmäiset vuorovaikutteiset kuoret tehtiin 1960-luvulla ensimmäisten time-sharing-järjestelmien etäkäytön helpottamiseksi. Niissä käytettiin komentosarjakomentosarjoja, joilla voidaan ajaa tietokoneohjelmia tietokoneohjelman, komentosarjan, sisällä. Calvin Mooersin TRAC-kielessään katsotaan yleisesti keksineen komentojen korvaamisen. Sen avulla komennot voivat muuttaa komentosarjaa (itseään muokkaava koodi). Multics kutsuu näitä aktiivisiksi toiminnoiksi. Louis Pouzin kirjoitti CTSS:lle varhaisen prosessorin komentosarjoja varten nimeltä RUNCOM noin vuonna 1964. Stuart Madnick MIT:ssä kirjoitti skriptikielen IBM:n CP/CMS-järjestelmään vuonna 1966. Hän kutsui tätä prosessoria alun perin nimellä COMMAND, myöhemmin nimellä EXEC. Multics sisälsi CTSS:n RUNCOM-haaraosan, jota kutsuttiin myös RUNCOMiksi. EXEC korvattiin lopulta EXEC 2:lla ja REXX:llä.

Tcl:n ja Lua:n kaltaiset kielet tehtiin alusta alkaen yleiskäyttöisiksi komentosarjakieliksi, jotka voidaan liittää mihin tahansa sovellukseen. Muut kielet, kuten Visual Basic for Applications (VBA), pystyivät tekemään paljon samaa, mutta niiden piti toimia vain tietyissä sovelluksissa. Yleiskäyttöisen komentosarjakielen käyttäminen sen sijaan, että tehtäisiin uusi kieli jokaista sovellusta varten, helpottaa yleensä sekä sovelluksen laatijan että komentosarjoja kirjoittavan käyttäjän työtä.

Käsikirjoituskielten tyypit

Liimakielet

Skriptausta käytetään joskus eri sovellusten yhdistämiseen. Tätä kutsutaan liimakoodiksi, ja juuri tätä tarkoitusta varten tehty kieli on liimakieli. Putkilinjat ja komentosarjakäsikirjoitukset ovat yleisiä esimerkkejä liimakielistä. Mutta jos skriptitiedostoon kirjoitetaan paljon logiikkaa, on parempi ajatella, että se on yksinkertaisesti toinen ohjelmistosovellus, ei "liima".

Liimakielet ovat erityisen hyödyllisiä kirjoitettaessa ja ylläpidettäessä:

  • komentotulkin mukautetut komennot;
  • pienemmät ohjelmat kuin ne, jotka on parempi toteuttaa käännetyllä kielellä;
  • "Kääreohjelmat", jotka tekevät joitakin automaattisia toimintoja ennen tai jälkeen sovelluksen, kuten taulukkolaskentaohjelman, tietokannan, kääntäjän jne., suorittamisen;
  • skriptejä, jotka voivat muuttua usein;

Esimerkkejä liimakielestä:

  • AppleScript
  • awk
  • JCL
  • Lua
  • m4
  • Perl
  • Unix Shell-skriptit (ksh, csh, bash, sh ja muut).
  • VBScript
  • Työnkulun kieli
  • Windows PowerShell
  • XSLT

Ohjelmoitavien laskinten kaltaisilla laitteilla voi myös olla omat liimakielensä. Esimerkiksi Texas Instrumentsin TI-92 voidaan tehdasasetusten mukaan ohjelmoida komentosarjakielellä. TI-NSpire-laskin ymmärtää Lua-kieltä. Toiset ymmärtävät jonkinlaista Basic-kieltä tai ehkä Lispiä tai jotain muuta.

Työnohjauskielet ja kuoret

Tämä ryhmä on tullut IBM:n JCL:stä lähtien työnohjauksen automatisoinnista, joka liittyy järjestelmäohjelmien käynnistämiseen ja käyttäytymisen ohjaamiseen. Monet näiden kielten tulkit toimivat myös komentorivitulkkeina, kuten Unixin shell tai MS-DOS:n COMMAND.COM. Toiset, kuten AppleScript, tarjoavat englanninkielisten komentojen käyttöä skriptien rakentamiseen.

GUI-skriptaaminen

Kun rakennetaan graafisia käyttöliittymiä, tarvitaan tapa testata niitä. Erikoistuneet skriptikielet on kehitetty ohjaamaan graafisia ikkunoita, valikoita, painikkeita ja niin edelleen aivan kuten ihmiskäyttäjä. Monesti näiden avulla voidaan kopioida täsmälleen se, mitä ihminen tekee (hiiren liikuttaminen, napsauttaminen tai näppäimistöllä kirjoittaminen). Tätä kopioitua ja muistettavaa toimintoa tai toimintojen joukkoa kutsutaan makroksi.

Sovelluskohtaiset kielet

Moniin suuriin sovelluksiin sisältyy skriptikieli, joka on rakennettu juuri kyseistä sovellusta varten. Sovellus voi olla peli tai liiketoimintaohjelma. Tämäntyyppinen kieli on tehty yhtä sovellusta varten. Ne näyttävät yleiskieliltä (esim. QuakeC, joka on mallinnettu C:n mukaan), mutta niissä on mukautettuja ominaisuuksia, jotka erottavat ne toisistaan.

Laajennettavat/asennettavat kielet

Tämä on kuin sovelluskohtainen skriptikieli, sillä se ohjaa sovellusta, mutta kieltä voidaan käyttää monissa sovelluksissa.

JavaScript aloitti selaimissa käytettävänä skriptauskielenä, mutta nykyään se on yleiskäyttöinen upotettava kieli. Sitä käytetään myös esimerkiksi Adoben tuotteissa.

Joissakin kielissä siirrytään ajan mittaan yhdestä tyypistä toiseen, yleensä kun ne lisäävät valmiuksia tehdä enemmän asioita.

Kysymyksiä ja vastauksia

K: Mikä on skriptikieli?


A: Skripti- tai skriptikieli on ohjelmointikieli, joka tukee skriptejä.

K: Mitä skriptit ovat?


V: Skriptit ovat yleensä lyhyitä tietokoneohjelmia, jotka tekevät vaiheita, jotka ihminen voisi tehdä yksi kerrallaan.

K: Miksi skriptit ovat hyödyllisiä?


V: Niillä automatisoidaan työ helpommaksi ja luotettavammaksi.

K: Onko skriptikieli vaikea oppia?


V: Skriptikieli on usein yksinkertaisempi kieli ja helpompi oppia kuin muut kielet, mutta sillä voi silti tehdä monia asioita.

K: Missä skriptejä voidaan ajaa?


V: Skriptit voivat toimia toisen ohjelman sisällä, kuten verkkoselaimessa tai Microsoft Excelissä.

K: Mikä on komentotulkki skriptikielissä ja miten sitä käytetään?


V: Ne voivat olla myös komentorivikäyttöliittymästä suoritettava komentotulkki, joka tekee kutsuja käyttöjärjestelmään (OS). Komentotulkkia pidetään vuorovaikutteisena - käyttäjä voi valita, mitä kirjoittaa, ja komentotulkki vastaa komentoon. Niitä voidaan käyttää suurtietokoneiden ja palvelimien töiden ohjaamiseen.

Kysymys: Voiko yleiskäyttöinen kieli olla skriptikieli?


V: Jotkut sanovat, että skriptikieli on sidottava tiettyyn käyttötarkoitukseen. Toiset taas käyttävät laajempaa määritelmää ja sisällyttävät yleiskäyttöiset ohjelmointikielet, jotka ovat tulkattuja, eivät käännettyjä. Yleiskäyttöinen tarkoittaa, että sitä voidaan käyttää monin tavoin eri asioihin. Joillakin yleiskäyttöisillä kielillä (kuten Javalla) on muunnelmia, joita voidaan skriptata. Ei ole olemassa mitään erityistä sääntöä siitä, mikä on tai ei ole skriptikieli.

AlegsaOnline.com - 2020 / 2023 - License CC3