Kasutaja:KaarelRummo/Skriptimiskeel

Allikas: Vikipeedia

Tüübid[muuda | muuda lähteteksti]

Skriptimine vastandub sageli süsteemiprogrammeerimisele, nagu näiteks Ousterhouti dihhotoomia korral. Selles vaates on skriptimine liimikood, mis ühendab tarkvarakomponente, selleks spetsialiseerunud keel on liimikeel. Torujuhtmed ja kesta skriptid on liimikeelte arhetüüpsed näited ja Perl töötati algselt välja selle sama rolli täitmiseks. Veebiarendusel on otstarbekas kasutada liimikeeli, mis on andmebaasi ja veebiserveri vaheliseks liideseks. Kuid kui märgatav osa programmi loogikast on kirjutadatud skriptina, siis on seda parem nimetada lihtsalt tarkvarakomponendiks, mitte 'liimiks'.

Liimi keeled on eriti kasulikud järgnevate kirjutamiseks ja hooldamiseks:

  • kohandatud käsud käsu kesta jaoks;
  • väiksemad programmid, mille jaoks ei tasu rakendada kompileeritud keeli;
  • käivitatavate programmide pakkimisprogrammid, näiteks pakkfail, mis teisaldab või manipuleerib faile ja teeb operatsioonisüsteemiga muid asju enne või pärast rakenduse käivitamist, näiteks tekstitöötlusprogramm, arvutustabel, andmebaas, kompilaatorit jne;
  • skriptid, mis võivad muutuda;
  • Rakenduse kiire arendamise jaoks

Liimikeeled on näiteks:

Makrokeeled, mis on avatud operatsioonisüsteemile või rakenduse komponentidele, võivad toimida liimikeeltena. Nende hulka kuuluvad rakendused, nagu: Visual Basic, WordBasic, LotusScript, CorelScript, Hummingbird Basic, QuickScript, SaxBasic ja WinWrap Basic. Liimikeeleks võib pidada ka muid tööriistu, näiteks AWK, nagu ka mis tahes keelt, mida rakendab Windows Scripti Host'i mootor. Enamik rakendusi pääseb juurde operatsioonisüsteemi komponentidele ja kasutab neid objektide mudelite või oma funktsioonide kaudu.

Liimikeeles saab ka programmeerida kalkulaatoried. Programmeeritavaid kalkulaatoreid saab liimkeeltes programmeerida kolmel viisil. Näiteks saab Texas Instruments TI-92'te programmeerida käsuskripti keeles. Enamiku graafiliste kalkulaatorite esmased seadmel olevad kõrgetasemelised programmeerimiskeeled võivad paljudel juhtudel liimida kokku kalkulaatori funktsioonid - näiteks graafikud, loendid, maatriksid jne.

Töökontrolli keeled[muuda | muuda lähteteksti]

Suur osa skriptimiskeelte klassist on välja kasvanud töökontrolli automatiseerimisest, mis on seotud süsteemiprogrammide käitumise, käivitamise ja juhtimisega. (Selles mõttes võiks mõelda kestadele kui IBM-i JCL-i ehk töökontrolli keele järeltulijatele, mida kasutati täpselt sel eesmärgil.) Paljud nende keelte tõlgendajad on ka käsuliini tõlgendajad, näiteks Unixi kest või MS-DOS COMMAND.COM. Teised, näiteks AppleScript, pakuvad skriptide loomiseks ingliskeelseid käske.

GUI skriptimiskeeled[muuda | muuda lähteteksti]

Graafiliste kasutajaliideste tulekuga tekkis arvuti juhtimiseks spetsiaalne skriptimiskeel. Need keeled suhtlevad samade graafiliste akende, menüüde, nuppudega ja nii edasi, nagu inimene seda teeks. Nad teevad seda kasutaja toiminguid simuleerides. Neid keeli kasutatakse tavaliselt kasutaja toimingute automatiseerimiseks. Selliseid keeli nimetatakse ka "makrodeks", kui juhtimine toimub simuleeritud klahvivajutuste või hiireklõpsude abil, aga ka puutetundlikul ekraanil koputades või vajutades.

Neid keeli saab kasutada kõigi GUI-rakenduste juhtimiseks, kuid praktikas on nende kasutamine piiratud, kuna nende kasutamine vajab rakenduse ja operatsioonisüsteemi tuge. Sellel piirangul on mõned erandid. Mõni GUI skriptikeel põhineb graafiliste objektide äratundmisel nende kuvaekraani pikslite järgi. Need GUI-skriptikeeled ei sõltu operatsiooni-süsteemi või rakenduse toest.

Rakenduspõhised keeled[muuda | muuda lähteteksti]

Rakendusepõhised keeled võib jagada mitmeks erinevaks kategooriaks, nagu eraldiseisvad rakenduse keeled või sisemised rakendusepõhised keeled, mis hõlmavad muu hulgas järgmisi: idioomaalne skriptikeel, mis on kohandatud rakenduse kasutaja vajadustele. Samuti kasutavad paljud arvutimängusüsteemid kohandatud skriptikeelt, et väljendada mitte-mängija märkide programmeeritud tegevusi ja mängukeskkonda. Seda tüüpi keeled on mõeldud ühe rakenduse jaoks, ja ehkki need võivad pinnapealselt sarnaneda kindla üldotstarbelise keelega (nt QuakeC, mis on modelleeritud C järgi), on neil neid eristavad kohandatud funktsioonid. Emacs Lisp, ehkki täielikult vormitud ja võimekas Lispi murre, sisaldab mitmeid erifunktsioone, mis muudavad selle Emacs-i redigeerimisfunktsioonide laiendamiseks kõige kasulikumaks. Rakenduspõhist skriptikeelt võib vaadelda kui domeenipõhist programmeerimiskeelt, mis on spetsialiseerunud ühele rakendusele.

Ajalugu[muuda | muuda lähteteksti]

Varased suurarvutid (1950ndatel) olid mitte-interaktiivsed, selle asemel kasutasid nad pakkimistöötlust. IBMi Job Control Language (JCL) on pakkide töötlemise juhtimiseks kasutatavate keelte arhetüüp.

Esimesed interaktiivsed kestad töötati välja 1960. aastatel, et võimaldada esimeste ajajaotussüsteemide kaugjuhtimist. Need kasutasid skriptide skripte, mis juhtisid arvutiprogrammides töötavaid arvutiprogramme, nagu näiteks kesta. Calvin Mooersi TRAC-keeles tunnustatakse üldiselt käskude asendamise leiutamist - võimalust manustada käske skriptidesse, mis tõlgendamise korral sisestavad skripti tähemärgi. Multimeediumid kutsuvad neid aktiivseid funktsioone. Louis Pouzin kirjutas 1964. aasta paiku varajase käsiskriptide protsessori, mille nimi oli RUNCOM CTSS. Stuart Madnick kirjutas MIT-is skriptikeele IBMi CP / CMS-i jaoks 1966. aastal. Algselt nimetas ta seda protsessorit COMMAND, hiljem nimega EXEC. Multimeediumid hõlmasid CTSS RUNCOMi, mida nimetatakse ka RUNCOMiks. EXEC asendati lõpuks EXEC 2 ja REXX-ga.

Sellised keeled nagu Tcl ja Lua olid spetsiaalselt ette nähtud üldotstarbelisteks skriptikeelteks, mida saaks manustada mis tahes rakendusse. Muud keeled, näiteks Visual Basic for Applications (VBA), pakkusid tugeva integreerituse aluseks oleva süsteemi automatiseerimisvõimalustega. Selliste üldotstarbeliste skriptikeelte kinnistamisel iga rakenduse jaoks uue keele väljatöötamise asemel oli ka ilmne kasu, vabastades rakenduse arendaja vajadusest keeletõlkijat kodeerida nullist ja võimaldades kasutajal mujal õpitud oskusi rakendada.

Mõni tarkvara sisaldab mitut erinevat skriptikeelt. Kaasaegsed veebibrauserid pakuvad tavaliselt brauseri enda jaoks laienduste kirjutamiseks keelt ja brauseri juhtimiseks mitut standardset manustatud keelt, sealhulgas JavaScripti (ECMAScripti murre) või XUL.