Scripttaal

Een scripting of scripttaal is een programmeertaal die scripts ondersteunt. Scripts zijn meestal korte computerprogramma's die stappen doen die één voor één door een persoon kunnen worden gedaan. Dit automatiseert het werk om het gemakkelijker en betrouwbaarder te maken. Een scripttaal is vaak een eenvoudigere taal, en makkelijker te leren dan andere talen, maar kan toch veel dingen doen.

Scripts kunnen in een ander programma worden uitgevoerd, zoals in een webbrowser of Microsoft Excel. Ze kunnen ook een shell zijn die draait vanaf een commandoregelinterface en oproepen doet naar het besturingssysteem (OS). De shell wordt beschouwd als interactief - de gebruiker kan kiezen wat hij wil typen, en de shell reageert op het commando. Deze kunnen worden gebruikt om taken op mainframes en servers te controleren.

Sommige mensen zeggen dat een scripttaal gebonden moet zijn aan een specifiek gebruik. Anderen gebruiken een bredere definitie en omvatten algemene programmeertalen die worden geïnterpreteerd, niet gecompileerd. General-purpose betekent dat het op vele manieren kan worden gebruikt voor verschillende dingen. Sommige talen voor algemeen gebruik (zoals Java) hebben variaties die gescript kunnen worden (Javascript). Er is geen specifieke regel over wat wel of niet een scripttaal is.

Voorbeelden

Enkele veel voorkomende voorbeelden van scripttalen:

  • Bash en C-shell, als besturingstalen voor de Unix of Unix-achtige besturingssystemen
  • Scripts die binnen een andere applicatie draaien, worden een extensietaal genoemd. Webbrowsers staan verschillende soorten scripts toe, waaronder ECMAScript (JavaScript) of XUL. De homepage van Google maakt bijvoorbeeld gebruik van JavaScript. Visual Basic voor applicaties wordt binnen Microsoft Office gebruikt. Lua is een taal die met opzet is gemaakt als extensietaal en kan binnen veel applicaties worden gebruikt.
  • Games die scripting extensies hebben zijn onder andere de Second Life virtuele wereld en de Trainz Railroad simulators. In andere spellen, zoals Wesnoth, zijn de verschillende daadwerkelijk gespeelde spellen scripts die door andere gebruikers zijn geschreven.
  • Tekstverwerkingstalen sed en AWK
  • Algemeen doel: Perl, Tcl en Python zijn programmeertalen op hoog niveau (dichter bij de menselijke taal dan bij de machinecode) die voor veel verschillende dingen kunnen worden gebruikt. Sommige van deze talen werden eerst gemaakt voor een bepaald gebruik, en werden vervolgens veranderd in algemene talen.

Kenmerken

De meeste scripttalen zijn zo gemaakt dat ze gemakkelijk te leren zijn. Ze kunnen ofwel korte bestanden zijn met broncode, ofwel een commando per keer invoeren in een commandoregelinterface, die een read-eval-print loop (REPL, taalshell) heeft. Dit betekent meestal een eenvoudige set commando's. Er zijn misschien geen functies of een hoofd, het loopt gewoon van begin tot eind. Als iets niet werkt, kan een programmeur snel wijzigingen aanbrengen en het opnieuw uitvoeren. Dit maakt een scripttaal goed voor het maken van een snel prototype om te zien of een idee werkt.

De meeste mensen noemen Java bijvoorbeeld geen scripttaal, vanwege de lange syntaxis en de regels over welke klassen in welke bestanden bestaan, en omdat Java niet interactief kan worden uitgevoerd in een REPL. Het heeft bestanden met broncode nodig, en die kunnen alleen definities bevatten die door een host-applicatie of applicatielanceringsprogramma moeten worden gebruikt. (Java is niet hetzelfde als JavaScript).

Maar Python staat keuzes toe - functies kunnen in een bestand worden gezet, het kan worden uitgevoerd zonder functies en gebruik maken van dwingende programmeerstijl, of zelfs interactief worden gebruikt (type en voer één regel per keer uit).

print ("Hallo Wereld")

Deze ene regel van Python code drukt "Hallo Wereld" af; er is geen main() functie of iets anders nodig.

Een scripttaal wordt meestal geïnterpreteerd vanuit de broncode of bytecode. Echter, iets moet het script uitvoeren (interpreteren) zodat de computer het begrijpt. Dit is een applicatie, of iets in het OS. Dat is vaak geschreven in een gecompileerde taal en gedistribueerd in de vorm van machinecode (als een uitvoerbaar bestand dat geen zin heeft voor mensen).

Scripttalen kunnen worden ontworpen om te worden gebruikt door de mensen die een programma gebruiken - de ontwikkeling van de eindgebruiker. Andere keren kunnen ze worden gebouwd door programmeurs voor eigen gebruik. Scripttalen gebruiken vaak abstractie, een vorm van informatieverstopping. Dit betekent dat gebruikers de details van variabele types, gegevensopslag en geheugenbeheer niet hoeven te kennen.

Scripts worden vaak gemaakt of gewijzigd door de persoon die ze uitvoert, maar sommige worden gedeeld of verkocht aan anderen. Bijvoorbeeld wanneer grote delen van spellen in een scripttaal worden geschreven. Soms kan een script worden samengesteld voordat anderen het gebruiken. Eenmaal gecompileerd, zal het sneller lopen en heeft het geen andere applicatie nodig om het uit te voeren. En dit voorkomt dat eindgebruikers de code kunnen wijzigen.

Geschiedenis

Vroege mainframe computers (in de jaren '50) waren niet interactief, maar gebruikten scripts die waren opgeslagen in batch-bestanden. IBM's Job Control Language (JCL) is het gebruikelijke voorbeeld van een scripttaal die wordt gebruikt om batchverwerking te controleren.

De eerste interactieve schelpen werden in de jaren zestig van de vorige eeuw gemaakt om de eerste time-sharing systemen op afstand te kunnen bedienen. Deze gebruikte shell-scripts, die computerprogramma's kunnen uitvoeren binnen een computerprogramma, de shell. Calvin Mooers in zijn TRAC-taal wordt over het algemeen vereerd met het uitvinden van commandosubstitutie. Hierdoor kunnen commando's het script veranderen (zelfwijzigende code). Multieken noemen deze actieve functies. Louis Pouzin schreef rond 1964 een vroege processor voor commando-scripts, genaamd RUNCOM voor CTSS. Stuart Madnick van MIT schreef in 1966 een scripttaal voor IBM's CP/CMS. Oorspronkelijk noemde hij deze processor COMMAND, later EXEC genoemd. Multics bevatte een uitloper van CTSS RUNCOM, ook wel RUNCOM genoemd. EXEC werd uiteindelijk vervangen door EXEC 2 en REXX.

Talen als Tcl en Lua zijn vanaf het begin gemaakt als algemene scripttalen die in elke toepassing kunnen worden gebruikt. Andere talen zoals Visual Basic for Applications (VBA) konden veel van hetzelfde doen, maar moesten alleen met bepaalde applicaties werken. Het gebruik van een algemene scripttaal in plaats van het maken van een nieuwe taal voor elke applicatie maakt het meestal gemakkelijker voor zowel de persoon die de applicatie schrijft als de gebruiker die de scripts schrijft.

Soorten scripttalen

Lijmtalen

Scripting wordt soms gebruikt om verschillende toepassingen met elkaar te verbinden. Dit wordt lijmcode genoemd, en een taal die speciaal voor dit doel is gemaakt is een lijmtaal. Pijpleidingen en shell scripting zijn veel voorkomende voorbeelden van lijmtalen. Maar als er veel logica in een scriptbestand wordt geschreven, is het beter om het te zien als gewoon een andere softwareapplicatie, niet als "lijm".

Lijmtalen zijn vooral nuttig voor het schrijven en onderhouden:

  • aangepaste commando's voor een commandoshell;
  • kleinere programma's dan die welke beter in een gecompileerde taal worden uitgevoerd;
  • "wrapper" programma's die enkele geautomatiseerde dingen doen voor of na het uitvoeren van een applicatie zoals een spreadsheet, database, compiler, enz;
  • scripts die vaak kunnen veranderen;

Lijmt taalvoorbeelden:

  • AppleScript
  • awk
  • JCL
  • Lua
  • m4
  • Perl
  • Unix Shell-scripts (ksh, csh, bash, sh en andere)
  • VBScript
  • Taal van de workflow
  • Windows PowerShell
  • XSLT

Apparaten zoals programmeerbare rekenmachines kunnen ook hun eigen lijmtalen hebben. Zo kan bijvoorbeeld de Texas Instruments TI-92, in de fabriek standaard worden geprogrammeerd met een commandoscripttaal. De TI-NSpire calculator begrijpt de Lua taal. Anderen begrijpen een soort Basistaal, of misschien Lisp of iets anders.

Talen en schelpen voor functiecontrole

Deze groep is voortgekomen uit de automatisering van job control, die betrekking heeft op het starten en controleren van het gedrag van systeemprogramma's, uitgaande van IBM's JCL. Veel van de tolken van deze talen werken ook als commandoregel-tolken, zoals de Unix-shell of de MS-DOS COMMAND.COM. Andere, zoals AppleScript, bieden het gebruik van Engelstalige commando's om scripts te bouwen.

GUI-scripting

Bij het bouwen van grafische gebruikersinterfaces is een manier van testen nodig. Gespecialiseerde scripttalen werden gemaakt om grafische vensters, menu's, knoppen, enz. aan te sturen, net zoals een menselijke gebruiker dat zou doen. Vaak kunnen deze gebruikt worden om precies te kopiëren wat een persoon doet (een muis bewegen, klikken of typen op een toetsenbord). Deze actie of set van acties die gekopieerd en onthouden wordt, wordt een macro genoemd.

Toepassingsspecifieke talen

Veel grote toepassingen bevatten een scripttaal die speciaal voor die toepassing is gebouwd. De applicatie kan een spel zijn of een zakelijk programma. Dit type taal is gemaakt voor een enkele applicatie. Ze maken een algemene taal (bijv. QuakeC, gemodelleerd naar C), ze hebben aangepaste functies die hen onderscheiden.

Uitbreidbare/inbeddingstalen

Dit is als een toepassingsspecifieke scripttaal, in die zin dat het een toepassing aanstuurt, maar de taal kan in veel toepassingen worden gebruikt.

JavaScript begon als een taal voor het scripten in webbrowsers; maar het is nu een algemeen toepasbare insluitbare taal. Het wordt bijvoorbeeld ook gebruikt in Adobe-producten.

Sommige talen verschuiven in de loop van de tijd van het ene type naar het andere, meestal omdat ze de mogelijkheid bieden om meer dingen te doen.

Vragen en antwoorden

V: Wat is een scripttaal?


A: Een scripttaal of scripttaal is een programmeertaal die scripts ondersteunt.

V: Wat zijn scripts?


A: Scripts zijn meestal korte computerprogramma's die stappen uitvoeren die één voor één door een persoon gedaan zouden kunnen worden.

V: Waarom zijn scripts nuttig?


A: Hiermee wordt een taak geautomatiseerd om deze gemakkelijker en betrouwbaarder te maken.

V: Is een scripttaal moeilijk te leren?


A: Een scripttaal is vaak een eenvoudigere taal, en gemakkelijker te leren dan andere talen, maar kan nog steeds veel dingen doen.

V: Waar kunnen scripts draaien?


A: Scripts kunnen binnen een ander programma worden uitgevoerd, zoals in een webbrowser of Microsoft Excel.

V: Wat is een shell in scripttalen, en hoe wordt deze gebruikt?


A: Het kan ook een shell zijn die vanaf een opdrachtregelinterface draait en aanroepen doet naar het besturingssysteem (OS). De shell wordt als interactief beschouwd - de gebruiker kan kiezen wat hij typt, en de shell reageert op het commando. Deze kunnen gebruikt worden om opdrachten op mainframes en servers te besturen.

V: Kan een taal voor algemeen gebruik een scripttaal zijn?


A: Sommige mensen zeggen dat een scripttaal gebonden moet zijn aan een specifiek gebruik. Anderen gebruiken een bredere definitie en verstaan hieronder programmeertalen voor algemeen gebruik die geïnterpreteerd worden, niet gecompileerd. Algemeen bruikbaar betekent dat het op veel manieren voor verschillende dingen gebruikt kan worden. Sommige talen voor algemeen gebruik (zoals Java) hebben variaties die gescript kunnen worden. Er is geen specifieke regel over wat wel of niet een scripttaal is.

AlegsaOnline.com - 2020 / 2023 - License CC3