Scripttaal

Van Wikipedia, de gratis encyclopedie
Spring naar navigatie Spring naar zoeken

Scripttalen (ook wel scripttalen ) zijn programmeertalen die via een tolk worden uitgevoerd. Soms doen ze het zonder taalelementen, waarvan de voordelen pas naar voren komen bij complexere taken. In scripttalen wordt bijvoorbeeld de verplichte declaratie van variabelen meestal achterwege gelaten - voordelig voor het snel maken van kleine programma's (zie ook prototyping ), maar nadelig voor grote programma's, bijvoorbeeld vanwege het ontbreken van controle op typefouten in variabele namen.

Programma's die zijn geschreven in scripttalen, waaronder scripts of scripts, worden genoemd, terwijl in de besturingsomgeving van Microsoft meestal de term macro wordt gebruikt. Scripts worden vrijwel uitsluitend in de vorm van brontekstbestanden aangeleverd, zodat het programma eenvoudig kan worden bewerkt en aangepast.

Kenmerken

Veel voorkomende kenmerken zijn:

Bij sommige scripttalen kan de programmacode (evenals andere gegevens) door het programma zelf worden gemanipuleerd; dat maakt die talen bijzonder flexibel.

De toepassingsgebieden en eigenschappen van conventionele programmeertalen en scripttalen overlappen elkaar nu sterk (zie de paragraaf over afbakening ), waardoor een strikte scheiding tussen conventionele programmeertalen en scripttalen zelden mogelijk is.

Grensscheiding

Vanuit architectonisch oogpunt worden scripttalen vaak gebruikt om bestaande componenten in een applicatieprogramma aan te sluiten of op te roepen. De componenten zelf zijn ontwikkeld in een complexere programmeertaal. Een voorbeeld hiervan is een shellscript dat externe programma's aanroept. Deze programma's zijn over het algemeen ontwikkeld in verschillende programmeertalen. Een ander voorbeeld is de BPEL- taal, die wordt gebruikt om webservices te beschrijven die in verschillende programmeertalen kunnen worden ontwikkeld.

Scripttalen werden aanvankelijk alleen gebruikt voor kleinere automatiseringen, tegenwoordig worden ze ook gebruikt in gebieden die voorheen voorbehouden waren aan traditionele programmeertalen. Verbeteringen in de tolken hebben het snelheidsverschil verminderd in vergelijking met statische talen; Samen met de toename van rekenkracht resulteert dit vaak in een acceptabele uitvoeringssnelheid die voorheen alleen kon worden bereikt met gecompileerde programma's. Bovendien kunnen variabelen optioneel worden gedeclareerd in enkele van de onafhankelijke programmeertalen voor een betere foutcontrole. Met moderne scripttalen kunnen sommige toepassingen, bijvoorbeeld voor het evalueren van gegevens, volledig worden geïmplementeerd zonder dat externe programma's nodig zijn.

Categorieën

Opdrachtregelinterpreter

Sommige scripttalen zijn afgeleid van de opdrachtregelinterpreters van de besturingssystemen. De tolken zijn in de eerste plaats ontworpen voor interactief gebruik, dat wil zeggen voor het invoeren van commando's. De invoertaal is uitgebreid met variabelen, rekenkundige uitdrukkingen, besturingsstructuren ( if , while ) en andere, waardoor de automatisering van taken (bijvoorbeeld tijdens installatie zonder toezicht ) mogelijk wordt door "kleine programma's" in bestanden te schrijven. Deze bestanden kunnen vervolgens door de interpreter worden uitgevoerd. De bestanden worden shellscripts genoemd onder het Unix- besturingssysteem (uitgevoerd door een van de Unix-shells sh , csh …) of batchscripts onder DOS en Windows (uitgevoerd door COMMAND.COM en cmd.exe ).

Opdrachtregelinterpreters zijn te onderscheiden van interactieve talen (zoals Lisp , Python , Tcl of Perl in de debugger ), die interactieve programmasecties kunnen uitvoeren voor testen en debuggen, maar die niet zo nauw zijn geïntegreerd in het besturingssysteem.

Voorbeelden

Scripttalen beschikbaar als bibliotheek

Voorbeelden

Scripttalen van verschillende programma's

Scripttalen kunnen ook worden gebruikt in applicatieprogramma's om taken te automatiseren of om de mogelijkheden van het programma uit te breiden. Een deel van de functionaliteit van het programma zelf is gedeeltelijk in deze scripttaal geïmplementeerd. Zo kunnen gebruikers de functionaliteit van een dergelijk programma snel uitbreiden met nieuwe functies of bestaande aanpassen zonder het programma zelf te herschrijven. Deze extensies kunnen zelf zo uitgebreid zijn dat het programma compleet nieuwe taken uitvoert die - vanuit het oogpunt van de gebruiker - niets gemeen hebben met het vorige programma. Zo werd de teksteditor Emacs ook een e-mailprogramma (Wanderlust [1] ) of een webbrowser (Emacs-W3 [2] ).

In tegenstelling tot plug-ins zijn scripts en macro's veel flexibeler en worden ze vooral gebruikt voor kleine automatisering.

Voorbeelden

Scripttalen op het WWW

Voor het WWW worden op de servers vaak scripttalen gebruikt om dynamische pagina's of hele webapplicaties te maken . Dit gebeurt bijvoorbeeld bij wiki's , forums , gastenboeken en online bedrijven .

Verder zijn client-side scripttalen ook geïntegreerd in de websites zelf en uitgevoerd in de browsers .

Voorbeelden: server-side

  • Perl - de eerste scripttaal die veel werd gebruikt in webservers
  • PHP - de meest voorkomende scripttaal op webservers; is rechtstreeks ontworpen voor deze taak
  • Python - kan worden aangesloten op een webserver of worden gebruikt met een stand-alone webserver
  • Ruby - wordt uitgevoerd via CGI of met mod_ruby, in toenemende mate ook met Ruby on Rails
  • JavaScript , bijv. B. kan ook aan de serverkant worden gebruikt met Node.js
  • VBScript in ASP

Voorbeelden: client-side

  • JavaScript (gestandaardiseerd als ECMAScript ) wordt ondersteund door alle moderne browsers
  • CoffeeScript , is getranscompileerd naar JavaScript
  • TypeScript , wordt getranscompileerd naar JavaScript

Onafhankelijke scripttalen

Scripttalen kunnen ook los van hun tolk door andere programma's worden uitgevoerd. Sommige hiervan zijn ontworpen voor speciale taken, andere zijn talen voor algemene doeleinden. Deze talen hebben de concepten die nodig zijn voor uitgebreide programmaprojecten, zoals namespaces en encapsulation, en worden daarom niet zelden gebruikt voor grotere toepassingen .

Voorbeelden: gespecialiseerde talen

  • awk - tekstverwerker (lijstgenerator) onder Unix
  • GLE - Graphics Layout Engine, scripttaal voor het genereren van afbeeldingen en diagrammen

Voorbeelden: algemene talen

  • Perl - programmeertaal met geavanceerde tekstverwerkingsmogelijkheden
  • PHP - oorspronkelijk ontworpen voor de ontwikkeling van webapplicaties
  • Python - gedeeltelijk objectgeoriënteerde programmeertaal
  • REBOL - programmeertaal door Carl Sassenrath
  • REXX - scripttaal van IBM
  • Ruby - objectgeoriënteerde programmeertaal
  • Tcl - universele scripttaal met geavanceerde tekstverwerkingsmogelijkheden en grafische toolkit Tk

Vergelijking van verschillende scripttalen

taal paradigma's Jaar van uitgave ontwikkelaar Typen Grote implementaties Licentie
Groovy objectgeoriënteerd , declaratief , imperatief 2003 The Groovy Project, Apache Software Foundation sterk , statisch , dynamisch - Apache-licentie 2 (open source)
JavaScript objectgeoriënteerd , functioneel , imperatief 1995 Brendan Eicho zwak , dynamisch SpiderMonkey , Neushoorn , SquirrelFish , V8 , Neushoorn -
Python objectgeoriënteerd , functioneel , imperatief 1991 Python Software Foundation, Guido van Rossum sterk , dynamisch CPython , Jython , IronPython , PyPy Python Software Foundation-licentie [3]
Scala objectgeoriënteerd , functioneel , imperatief 2003 École polytechnique fédérale de Lausanne onder leiding van Martin Odersky sterk , statisch - Scala, [4] BSD- achtig
PHP objectgeoriënteerd , functioneel , imperatief 1995 De PHP-groep zwak , dynamisch Zend Engine , HHVM , Phalanger (Compiler) PHP-licentie en andere, deels propriëtair
Robijn objectgeoriënteerd , functioneel , imperatief 1995 Yukihiro Matsumoto sterk , dynamisch MRI / CRRuby (YARV), JRuby , Rubinius (anderen) 2-clausule BSD en eigen (zie gebruiksvoorwaarden )
Tcl objectgeoriënteerd , functioneel , imperatief 1988 John Ousterhout zwak , dynamisch ActiveTcl , Jim Tcl BSD-licentie

Vergelijking van syntactische mogelijkheden in scripttalen

taal annotaties Anonieme functie Patroon matching Benoemde parameters Optionele parameters Curry Varargs [5]
Groovy x x - (x) x x x
JavaScript - x - x x x x
Python x x - x x (x) x
Scala x x x x x x x
PHP - x - - x (x) x
Robijn - x - (x) x x x
Tcl - x x (x) x (x) x

web links

WikiWoordenboek: Scripttaal - uitleg van betekenissen, woordoorsprong, synoniemen, vertalingen

Individueel bewijs

  1. http://www.gohome.org/wl/
  2. 4. Emacs-W3. In: TLDP . Ontvangen op 30 mei 2019 (Amerikaans Engels).
  3. ^ Python-licentie
  4. licentie
  5. Varargs Java