„Skriptsprache“ – Versionsunterschied
[ungesichtete Version] | [ungesichtete Version] |
K →Beispiele: serverseitig: Typo, passendere CGI-Verlinkung |
K Skriptsprachen <-- ist total unüblich und wird.... |
||
Zeile 1: | Zeile 1: | ||
'''Skriptsprachen''' sind [[Programmiersprachen]], die vor allem für kleine, überschaubare Programmieraufgaben gedacht sind. Sie verzichten oft auf bestimmte Sprachelemente, deren Nutzen erst bei der Bearbeitung größerer Projekte zum Tragen kommen. So wird etwa in Skriptsprachen auf den [[Deklaration (Programmierung)|Deklarationszwang]] von Variablen verzichtet – vorteilhaft bei kleinen Programmen (besonders um diese schnell zu schreiben, siehe auch [[Rapid Prototyping]]), bei großen, etwa wegen der fehlenden Überprüfungsmöglichkeit von [[Tippfehler]]n in Variablennamen, hingegen von Nachteil. |
'''Scriptsprachen''' oder '''Skriptsprachen''' sind [[Programmiersprachen]], die vor allem für kleine, überschaubare Programmieraufgaben gedacht sind. Sie verzichten oft auf bestimmte Sprachelemente, deren Nutzen erst bei der Bearbeitung größerer Projekte zum Tragen kommen. So wird etwa in Skriptsprachen auf den [[Deklaration (Programmierung)|Deklarationszwang]] von Variablen verzichtet – vorteilhaft bei kleinen Programmen (besonders um diese schnell zu schreiben, siehe auch [[Rapid Prototyping]]), bei großen, etwa wegen der fehlenden Überprüfungsmöglichkeit von [[Tippfehler]]n in Variablennamen, hingegen von Nachteil. |
||
[[Computerprogramm|Programme]], die in Skriptsprachen geschrieben sind, werden auch ''Skripte'' genannt. Skripte werden fast ausschließlich in Form von [[Quelltext]]<nowiki></nowiki>dateien ausgeliefert, um so ein einfaches Bearbeiten und Anpassen des Programms zu ermöglichen. |
[[Computerprogramm|Programme]], die in Skriptsprachen geschrieben sind, werden auch ''Skripte'' genannt. Skripte werden fast ausschließlich in Form von [[Quelltext]]<nowiki></nowiki>dateien ausgeliefert, um so ein einfaches Bearbeiten und Anpassen des Programms zu ermöglichen. |
Version vom 16. März 2006, 03:37 Uhr
Scriptsprachen oder Skriptsprachen sind Programmiersprachen, die vor allem für kleine, überschaubare Programmieraufgaben gedacht sind. Sie verzichten oft auf bestimmte Sprachelemente, deren Nutzen erst bei der Bearbeitung größerer Projekte zum Tragen kommen. So wird etwa in Skriptsprachen auf den Deklarationszwang von Variablen verzichtet – vorteilhaft bei kleinen Programmen (besonders um diese schnell zu schreiben, siehe auch Rapid Prototyping), bei großen, etwa wegen der fehlenden Überprüfungsmöglichkeit von Tippfehlern in Variablennamen, hingegen von Nachteil.
Programme, die in Skriptsprachen geschrieben sind, werden auch Skripte genannt. Skripte werden fast ausschließlich in Form von Quelltextdateien ausgeliefert, um so ein einfaches Bearbeiten und Anpassen des Programms zu ermöglichen.
Häufig vorhandene Merkmale sind:
- implizit deklarierte Variablen; dazu gehören auch dynamische Funktionsnamen (Funktionsnamen müssen nicht einem Compiler vorab bekannt sein)
- dynamische, automatische Typumwandlung, bzw. ganz fehlende Typunterscheidung
- automatische Speicherverwaltung
- dynamische Klassenzugehörigkeit oder prototypenbasierte Vererbung
- werden in der Regel ohne getrennte Übersetzungsphase ausgeführt (d. h. sie werden „interpretiert“)
Bei einigen Skriptsprachen kann der Programmcode selbst, wie andere Daten auch, manipuliert werden, was die Sprache besonders flexibel macht.
Kategorien
Kommandozeileninterpreter
Skriptsprachen, die von den Kommandozeileninterpretern der Betriebssysteme abgeleitet sind. Die Interpreter sind vorrangig für interaktive Benutzung, d.h. für die Eingabe von Kommandos, ausgelegt. Die Eingabesprache wird um Variablen, arithmetische Ausdrücke, Kontrollstrukturen (if, while) und anderes erweitert und ermöglicht so die Automatisierung von Aufgaben (z. B. bei der unbeaufsichtigten Installation), indem "kleine Programme" in Dateien geschrieben werden. Diese Dateien können dann vom Interpreter ausgeführt werden. Die Dateien nennt man unter dem Betriebssystem Unix Shell-Skripte (ausgeführt von einer der Unix-Shells sh, csh, …) oder unter DOS bzw. Windows Batch-Dateien (ausgeführt von command.com bzw. cmd.exe).
Abzugrenzen sind Kommandozeileninterpreter von interaktiven Sprachen (wie z. B. LISP, Python oder Perl im Debugger), die zum Testen und Debuggen interaktive Programmabschnitte ausführen können, aber nicht so eng im Betriebssystem integriert sind.
Beispiele
- COMMAND.COM – DOS Kommandointerpreter (Batchdateien), auch in älteren Windows-Versionen
- CMD.EXE – Kommandointerpreter von neueren Windows-Versionen
- sh – Unix Bourne Shell (die klassische Unix-Shell)
- bash – GNU-Ersatz und Erweiterung der sh-Shell
- csh – BSD Shell (Unix-Versionen aus Berkeley)
- ksh – Korn-Shell
- tclsh – Tool command language (Tcl)
- msh – Microsoft Command Shell, neuer Kommandointerpreter für Microsoft Windows
Skriptsprachen, die als Bibliothek verfügbar sind
Beispiele
- Lua – Skriptsprache zum Einbinden in Programme, oft in Computerspielen zu finden
- Tcl – Tool Command Language von J. Ousterhout
- Guile – GNU Extension Language
- S-Lang – Plattformunabhängige Skriptsprache zum Einbinden in Programme
Skriptsprachen verschiedener Programme
Hauptartikel: Makro
Skriptsprachen können auch als Anwenderprogramm durch Automatisierung von Aufgaben oder durch Erweiterung der Fähigkeiten des Programms dienen. Teilweise wird auch ein Teil der Funktionalität des Programms selbst in dieser Skriptsprache realisiert. Somit können Anwender die Funktionalität eines solchen Programms schnell mit neuen Funktionen erweitern oder bestehende abändern, ohne das Programm selbst umzuschreiben. Diese Erweiterungen können selbst so weitreichend sein, dass das Programm völlig neue Aufgaben erledigt, die mit dem vorherigen Programm – aus Anwendersicht – nichts mehr gemeinsam haben. So wurden aus dem Texteditor Emacs auch ein E-Mail-Programm (wl [1]) oder ein Webbrowser (emacs-w3 [2]).
Im Gegensatz zu Plugins sind Makros wesentlich flexibler und werden vor allem für kleine Automatisierungen angewendet.
Beispiele
- AppleScript – Skriptsprache von Mac OS.
- C4Script – Skriptsprache des Computerspiels Clonk.
- Elisp – Skriptsprache des Emacs-Editors.
- LPC – C ähnliche Sprache für MUDs.
- Python – verschiedene, vor allem Opensource, Programme (z.B. OpenOffice.org, Blender und Gimp) lassen sich damit skripten.
- QuakeC – Skriptsprache des Computerspiels Quake.
- REXX – insbesondere unter OS/2 als Makrosprache eingesetzt (z.B. im „Erweiterten Editor“ EPM).
- VBA (Visual Basic for Applications) – Skriptsprache für Microsoft-Produkte; ist auch kompilierbar.
- UnrealScript – Skriptsprache der Unreal Engine.
- RapidBATCH – Eine Skriptsprache für Windows.
- AutoIt – Eine Alternative zum Windows Script Host.
Skriptsprachen im WWW
Für das WWW werden Skriptsprachen häufig auf den Servern verwendet, um dynamisch Seiten oder ganze Webanwendungen zu erstellen. Dies geschieht zum Beispiel bei den Wikis, bei Foren, Gästebüchern und bei Onlinegeschäften.
Des weiteren werden clientseitige Skriptsprachen auch in den Webseiten selbst eingebunden und in den Browsern ausgeführt.
Beispiele: serverseitig
- DTML (Document Template Markup Language) – wird vom Webserver Zope verwendet
- Perl – erste Skriptsprache; fand weite Verbreitung in Webservern (damals über CGI; heute auch mit mod_perl)
- PHP – wurde für diese Aufgabe konzipiert; die am weitesten verbreitete Skriptsprache in Webservern
- Python – wird entweder über CGI oder mit mod_python direkt vom Webserver ausgeführt
- Cold Fusion Markup Language – Tags und Funktionen für den ColdFusion Application Server
- Ruby – wird, ähnlich wie Python, entweder über CGI oder mit mod_ruby ausgeführt, zunehmend auch unter Benutzung von Ruby on Rails
- VBScript (Visual Basic Skriptsprache) in ASP
Beispiele: clientseitig
- JavaScript, als ECMAScript standardisiert; auch JScript, JScript .NET – wird von allen modernen Browsern unterstützt – siehe auch DHTML
- VBScript (Visual Basic Skriptsprache) – nur im Internet Explorer verfügbar
Als Programmiersprachen konzipierte Skriptsprachen
Sprachen, die sich als vollwertige Programmiersprachen verstehen. Einige dieser Sprachen sind für Spezialaufgaben konzipiert, andere sind von Anfang an als allgemein verwendbare Sprache geplant. Diese Sprachen haben die für umfangreiche Programmprojekte notwendigen Konzepte wie Namensräume und Kapselung.
Beispiele: spezialisierte Sprachen
- awk – Textprozessor (Listengenerator) unter Unix