Skriptspråk

Från Wikipedia
(Omdirigerad från Skript)
Hoppa till: navigering, sök
"Skript" omdirigerar hit, för den behavioristiska termen se beteendeskript.

Ett skriptspråk är ett tolkat programspråk. Det innebär att det krävs en speciell exekveringsmiljö för att kunna köra program skrivna i skriptspråk, enligt ungefär samma princip som för Java-program. Varje skriptspråk har en egen exekveringsmiljö, oftast för flera operativsystem. Skriptkoden är ofta helt portabel vilket innebär att samma skript kan köras på många operativsystem utan redigering.

Vanligen har skriptspråken dynamisk typning.

Innehåll

Historia [redigera]

Under 1970-talet dök det upp små, enkla programspråk för Unix som gjorde det enklare för användaren att starta flera program med ett enda kommando, ofta också med villkorssatser som tog hänsyn till omständigheterna. Ett av de första skriptspråken var Bourne.

Snart kom Awk, ett språk speciellt anpassat för att enkelt kunna söka i och analysera stora textmassor (ex. systemloggar) med reguljära uttryck. Den första versionen av Perl, som släpptes 1987, var starkt influerat av Awk och följdes snart av Tcl och Python.

Sedan dess har språken utvecklats ständigt för att mer och mer likna fullfjädrade programspråk utom i vissa avgörande avseenden. Idag kan det mesta skrivas i ett skriptspråk som tidigare endast kunnat skrivas i C (programspråk), ALGOL eller liknande systemprogramspråk.

Prestanda [redigera]

Teoretiskt sett är systemprogramspråken C och C++ överlägsna skriptspråken när det gäller snabbhet och minneskrav för program. Dock finns det en större varians i systemprogramspråkens prestanda beroende på skicklighetsnivån hos programmeraren.

Utvecklingstid [redigera]

Eftersom skriptspråken är mer uttrycksfulla än systemprogramspråken och en sedan länge accepterad tumregel säger att en programmerares produktivitet mätt i antal kodrader är oberoende av programspråket, är skriptspråken teoretiskt sett överlägsna systemprogramspråken avseende utvecklingstid.

Den högre abstraktionsnivån förhindrar också många buggar som annars är vanliga vid utveckling i systemprogramspråken, vilket än mer bidrar till en snabbare utveckling då testningen inte tar lika lång tid.

Stora program i skriptspråk [redigera]

Stora, avancerade program brukar vara olämpliga att göra i skriptspråk, eftersom kraven på prestanda och effektiv minneshantering ökar. Dessutom är skriptspråken utvecklade för att i första hand tillgodose behovet av att snabbt göra små program.

Eftersom många skriptspråk har dynamisk typning innebär det också att antalet buggar kan öka om fler personer arbetar med samma program. Dynamisk typning innebär att en variabel kan användas till flera syften och missförstånd programmerare emellan kan lätt uppstå. Det är dessutom den typ av fel som kompileringen inte upptäcker utan som ses först vid test.

Kompatibilitet [redigera]

Ett program som ska säljas och spridas till många användare bör lämpligen i så hög grad som möjligt kunna köras utan en särskild exekveringsmiljö. Därför levereras de vanligen som exekverbara (kompilerade) program, som dock är bundna till en viss datorarkitektur och ett visst operativsystem eller i vissa fall en viss familj av operativsystem.

Skriptspråk som allmänt stöds på målgruppens datorer kan användas för program som skall fungera oberoende av datorarkitektur och på flera operativsystem. Skriptspråk kan också anpassa exekverbara program till en viss miljö, till exempel då programbibliotek eller hjälpprogram som det exekverbara programmet behöver finns i olika varianter.

Så kallade skalprogram, en variant av skriptspråk, används allmänt för att starta upp eller konfigurera exekverbara program i unixliknande och POSIX-kompatibla system, där någon bourne shell-kompatibel kommandotolk (/bin/sh) alltid finns installerad. Också andra skriptspråk, mer lämpliga för större program, finns ofta tillgängliga.

Extremfallet, som traditionellt inte varit ovanlig i unixliknande system, är att installationen av exekverbara program innefattar automatisk konfiguration och kompilering av programmet, om en färdigt kompilerad version inte finns tillgänglig för operativsystemet eller datorarkitekturen ifråga. Detta förutsätter att någon lämplig utvecklingsmiljö finns installerad och att systemet inte skiljer sig på oväntade sätt.

Exempel på skriptspråk [redigera]

Litteratur [redigera]

  • Prechelt, Lutz (2000). An Empirical Comparison of Seven Programming Languages. IEEE Computer, vol. 33:10, ss. 23-29.