Skriptspråk

Ett skriptspråk är ett programmeringsspråk som stöder skript. Skript är vanligtvis korta datorprogram som utför steg som en person skulle kunna utföra ett i taget. Detta automatiserar ett arbete för att göra det enklare och mer tillförlitligt. Ett skriptspråk är ofta ett enklare språk och lättare att lära sig än andra språk, men kan ändå göra många saker.

Skript kan köras inuti ett annat program, t.ex. i en webbläsare eller Microsoft Excel. De kan också vara ett skal som körs från ett kommandoradsgränssnitt och gör anrop till operativsystemet (OS). Skalet anses vara interaktivt - användaren kan välja vad han eller hon ska skriva och skalet svarar på kommandot. Dessa kan användas för att styra jobb på stordatorer och servrar.

Vissa säger att ett skriptspråk måste vara knutet till ett specifikt användningsområde. Andra använder en bredare definition och inkluderar allmänna programmeringsspråk som tolkas och inte kompileras. Allmänt användbart innebär att det kan användas på många olika sätt för olika saker. Vissa allmängiltiga språk (t.ex. Java) har varianter som kan scriptas (Javascript). Det finns ingen särskild regel för vad som är eller inte är ett skriptspråk.

Exempel

Några vanliga exempel på skriptspråk:

  • Bash- och C-shell, som kontrollspråk för Unix eller Unix-liknande operativsystem.
  • Skript som körs i ett annat program kallas ett tilläggsspråk. Webbläsare tillåter flera olika typer av skript, inklusive ECMAScript (JavaScript) eller XUL. På Googles hemsida används till exempel JavaScript. Visual Basic for Applications används i Microsoft Office. Lua är ett språk som är medvetet skapat som ett utvidgningsspråk och kan användas i många program.
  • Spel som har skripttillägg inkluderar den virtuella världen Second Life och Trainz Railroad-simulatorer. I andra spel som Wesnoth är de flesta spel som spelas skript som skrivits av andra användare.
  • Textbehandlingsspråken sed och AWK
  • Allmänna ändamål: Perl, Tcl och Python är programmeringsspråk på hög nivå (närmare mänskligt språk än maskinkod) som kan användas till många olika saker. Vissa av dessa språk skapades först för ett visst användningsområde och ändrades sedan till allmänna språk.

Egenskaper

De flesta skriptspråk är gjorda för att vara lätta att lära sig. De kan ofta vara antingen korta filer med källkod eller skrivas in ett kommando i taget i ett kommandoradsgränssnitt som har en läs-, utvärderings- och utskriftsloop (REPL, language shell). Detta innebär vanligtvis en enkel uppsättning kommandon. Det kanske inte finns några funktioner eller en main, utan det körs bara från början till slut. Om något inte fungerar kan en programmerare göra snabba ändringar och köra det igen. Detta gör ett skriptspråk bra för att göra en snabb prototyp för att se om en idé fungerar.

De flesta kallar till exempel inte Java för ett skriptspråk på grund av dess långa syntax och regler om vilka klasser som finns i vilka filer och för att Java inte kan köras interaktivt i en REPL. Det behöver filer med källkod, och de kan bara innehålla definitioner som måste användas av ett värdprogram eller en programstartare. (Java är inte samma sak som JavaScript).

Men Python ger dig valmöjligheter - funktioner kan placeras i en fil, det kan köras utan funktioner och med imperativ programmeringsstil, eller till och med användas interaktivt (skriv och kör en rad i taget).

skriva ut ("Hello World")

Denna enda rad Python-kod skriver ut "Hello World"; ingen main() funktion eller något annat behövs.

Ett skriptspråk tolkas vanligtvis från källkod eller bytecode. Något måste dock köra skriptet (tolka det) så att datorn förstår det. Detta är ett program eller något i operativsystemet. Det skrivs ofta i ett kompilerat språk och distribueras i form av maskinkod (som en körbar fil som inte är begriplig för människor).

Skriptspråk kan utformas för att användas av de personer som använder ett program - slutanvändarutveckling. Andra gånger kan de byggas av programmerare för eget bruk. Skriptspråk använder ofta abstraktion, en form av informationsgömma. Detta innebär att användarna inte behöver känna till detaljerna om variabeltyper, datalagring och minneshantering.

Skripten skapas eller ändras ofta av den person som utför dem, men vissa delas eller säljs till andra. Till exempel när stora delar av spel skrivs i ett skriptspråk. Ibland kan ett skript kompileras innan andra använder det. När det väl är kompilerat körs det snabbare och behöver inte ett annat program för att köras. Och detta förhindrar att slutanvändare ändrar koden.

Historia

De tidiga stordatorerna (på 1950-talet) var inte interaktiva, utan använde skript som lagrades i batchfiler. IBM:s Job Control Language (JCL) är ett vanligt exempel på ett skriptspråk som används för att styra batchbehandling.

De första interaktiva skalen tillverkades på 1960-talet för att underlätta fjärrstyrning av de första tidsdelningssystemen. Dessa använde skalskript, som kan köra datorprogram inom ett datorprogram, skalet. Calvin Mooers i sitt TRAC-språk får i allmänhet äran att ha uppfunnit kommandosubstitution. Detta gör att kommandon kan ändra skriptet (självmodifierande kod). Multics kallar dessa aktiva funktioner. Louis Pouzin skrev en tidig processor för kommandoskript som hette RUNCOM för CTSS omkring 1964. Stuart Madnick vid MIT skrev ett skriptspråk för IBM:s CP/CMS 1966. Han kallade ursprungligen denna processor COMMAND, senare EXEC. Multics innehöll en avknoppning av CTSS RUNCOM, som också kallades RUNCOM. EXEC ersattes så småningom av EXEC 2 och REXX.

Språk som Tcl och Lua var redan från början avsedda att vara skriptspråk för allmänna ändamål som kunde användas i alla program. Andra språk som Visual Basic for Applications (VBA) kunde göra mycket av samma sak, men behövde bara fungera i vissa program. Att använda ett allmänt skriptspråk i stället för att skapa ett nytt språk för varje tillämpning gör det vanligtvis lättare för både den som skriver tillämpningen och den användare som skriver skript.

Typer av skriptspråk

Språk med lim

Skript används ibland för att koppla ihop olika program. Detta kallas limekod, och ett språk som är skapat just för detta ändamål är ett limespråk. Pipelines och shell scripting är vanliga exempel på limespråk. Men om mycket logik skrivs i en skriptfil är det bättre att betrakta den som helt enkelt ett annat program, inte som "lim".

Limspråk är särskilt användbara för att skriva och underhålla:

  • anpassade kommandon för ett kommandoskydd;
  • mindre program än de som är bättre implementerade i ett kompilerat språk;
  • "Inkapslingsprogram" som gör vissa automatiserade saker före eller efter det att ett program körs, t.ex. ett kalkylblad, en databas, en kompilator osv;
  • skript som kan ändras ofta;

Exempel på limspråk:

  • AppleScript
  • awk
  • JCL
  • Lua
  • m4
  • Perl
  • Unix Shell-skript (ksh, csh, bash, sh och andra)
  • VBScript
  • Språk för arbetsflöden
  • Windows PowerShell
  • XSLT

Enheter som programmerbara kalkylatorer kan också ha sina egna limspråk. Texas Instruments TI-92 kan t.ex. programmeras med ett kommandoskriptspråk som fabriksinställning. Kalkylatorn TI-NSpire förstår språket Lua. Andra förstår något slags Basic-språk, eller kanske Lisp eller något annat.

Språk och skal för jobbstyrning

Den här gruppen har kommit från automatiseringen av jobbkontroll, som handlar om att starta och kontrollera systemprogrammens beteende, med början i IBM:s JCL. Många av tolkarna i dessa språk fungerar också som kommandoradstolkare, t.ex. Unix shell eller MS-DOS COMMAND.COM. Andra, t.ex. AppleScript, erbjuder användning av engelskliknande kommandon för att bygga skript.

Skript för grafiska gränssnitt

När man bygger grafiska användargränssnitt behövs ett sätt att testa dem. Specialiserade skriptspråk skapades för att styra grafiska fönster, menyer, knappar och så vidare precis som en mänsklig användare skulle göra. Många gånger kan dessa användas för att kopiera exakt vad en människa gör (rör musen, klickar eller skriver på ett tangentbord). Denna åtgärd eller uppsättning åtgärder som kopieras och kommer ihåg kallas för ett makro.

Applikationsspecifika språk

Många stora program innehåller ett skriptspråk som är byggt just för det programmet. Programmet kan vara ett spel eller ett affärsprogram. Den här typen av språk är gjorda för ett enda program. De ser ut som ett allmänt språk (t.ex. QuakeC, som är modellerat efter C), men de har anpassade funktioner som skiljer dem åt.

Språk som kan utvidgas/integreras

Detta är som ett programspecifikt skriptspråk, eftersom det styr ett program, men språket kan användas i många program.

JavaScript började som ett språk för skript i webbläsare, men det är nu ett generellt språk som kan integreras. Det används även i Adobe-produkter, till exempel.

Vissa språk skiftar från en typ till en annan med tiden, vanligtvis när de lägger till kapacitet för att göra fler saker.

Frågor och svar

F: Vad är ett skriptspråk?


S: Ett skriptspråk eller scriptspråk är ett programmeringsspråk som stöder skript.

F: Vad är skript?


S: Skript är vanligtvis korta datorprogram som utför steg som skulle kunna utföras en i taget av en person.

F: Varför är skript användbara?


S: De automatiserar ett jobb för att göra det enklare och mer tillförlitligt.

F: Är ett skriptspråk svårt att lära sig?


S: Ett skriptspråk är ofta ett enklare språk och lättare att lära sig än andra språk, men kan ändå göra många saker.

F: Var kan skript köras?


S: Skript kan köras inuti ett annat program, t.ex. i en webbläsare eller Microsoft Excel.

F: Vad är ett skal i skriptspråk, och hur används det?


S: De kan också vara ett skal som körs från ett kommandoradsgränssnitt och gör anrop till operativsystemet (OS). Shell betraktas som interaktivt - användaren kan välja vad som ska skrivas och shell svarar på kommandot. Dessa kan användas för att styra jobb på stordatorer och servrar.

F: Kan ett allmänt språk vara ett skriptspråk?


S: Vissa menar att ett skriptspråk måste vara knutet till en specifik användning. Andra använder en bredare definition och inkluderar allmänna programmeringsspråk som tolkas, inte kompileras. Allmänt användbart innebär att det kan användas på många olika sätt för olika saker. Vissa generella språk (t.ex. Java) har variationer som kan skriptas. Det finns ingen specifik regel för vad som är, eller inte är, ett skriptspråk.

AlegsaOnline.com - 2020 / 2023 - License CC3