Scriptsprachen

von Inga Eckermann

Inhaltsverzeichnis


 

Was sind Scriptsprachen?

Scriptsprachen werden nicht mit Programmiersprachen, wie Pascal, C und Java auf eine Stufe gestellt. Ursprünglich waren sie vom Sprachumfang meist leichtgewichtigere Sprachen. Mittlerweile sind es hochentwickelte und leistungsstarke Sprachen, die für schnelle Ad-hoc-Lösungen, z.B. für Internetanwendungen, eingesetzt werden. Sie eignen sich besonders gut für Zeichenverarbeitung und um Muster abzugleichen. Da Schnelligkeit ein Hauptkriterium ist, existieren für Scriptsprachen, wie z.B. JavaScript, TCL und Perl keine Compiler, sondern Interpreter, die zur Laufzeit übersetzen. Leider kann man nicht allein daran, dass zu einer Sprache ein Interpreter existiert, eine Scriptsprache erkennen. Mathematisch gesprochen ist ein Interpreter eine notwendige, aber noch keine hinreichende Bedingung, um von einer Scriptsprache sprechen zu können - denn auch für klassische Programmiersprachen gibt es ab und zu Interpreter: Als Beispiele sind Prolog und SML zu nennen.

Aber nicht nur bei der Art der Übersetzung der Sprachcodes fällt es schwer, Erkennungsmerkmale zu nennen, die Scriptsprachen eindeutig entlarven könnten. Denn im Laufe der Zeit hat sich der Sprachumfang der Scriptsprachen immer mehr dem der traditionellen Programmiersprachen angepasst: Auch für die Scriptsprachen gehören mittlerweile Variablen, Verzweigungs- und Schleifenanweisungen zum Standard. Rein formal zählen die meisten Scriptsprachen, wie z.B. Perl mittlerweile zu vollwertigen Programmiersprachen, da sie nicht nur auf innerhalb eines beschränkten Gebietes eingesetzt werden kann und Rekursion unterstützen: Eine "richtige" Programmiersprache ist universell, d.h. für jedes berechenbare Problem mufl eine Lösung programmierbar sein und wenn eine Sprache Rekursion erlaubt, ist sie universell. Man sieht: Die rein formalen Unterscheidungskriterien scheinen zu verschwimmen, so daß eine klare Abgrenzung von den restlichen Sprachen am ehesten durch die geschichtliche Entwicklung und die unterschiedlichen Einsatzgebiete gelingen kann:

Zum Inhaltsverzeichnis

Die Entwicklung von Skriptsprachen - Wann sind warum welche Scriptsprachen entstanden?

Da Scriptsprachen meist in einem Atemzug mit Internetlösungen genannt werden, könnte man denken, eine sehr neue Sprachfamilie vor sich zu haben, deren Entstehungsgeschichte gekoppelt ist an den rasanten Boom des WWW seit dem Beginn der 90er Jahre.

Weit gefehlt - Die Geschichte der Scriptsprachen beginnt sehr viel früher, nämlich zu Zeiten der Lochkarte.In die Lochkarten wurde der Code gestanzt und anschließend durch Lochkartenleser ausgewertet.

Der erste, obere Teil eines zusammengehörigen Kartenstapels war nicht für den eigentlichen Code reserviert, sondern enthielt notwendige Steueranweisungen, die z.B. vorgaben, welcher Compiler und welcher Linker aufgerufen werden muss, und Anweisungen zum Kopieren und Einlegen von Bändern enthielt. Diese Steueranweisungen waren die ersten Scripte. Seit dem Erscheinen der IBM 360 in den 60ern wurden diese Scripte in der Sprache JCL von IBM verfasst, sozusagen der Mutter der Scriptsprachen.

JCL wurde als Kommandosprache benutzt, um Abläufe zu automatisieren. Für Betriebssysteme, wie UNIX, für die keine windowbasierte Benutzeroberfläche existiert, dienen Scriptsprachen als Kommandosprache (sh, csh, awk), mit der ein Anwender mit dem Betriebssystem kommunizieren kann. Neben der Systemverwaltung erfüllen Scriptsprachen noch eine weitere wichtige Aufgabe: Die Verwaltung von komplexen Anwendungen, zu der mehrere Programme und Dateien gehören, deren Zusammenwirken gesteuert werden muss.

Genau für diese Steuerung von komplexen Anwendungen wurde Ende der 80er Jahre TCL (Tool Command Language) entwickelt. TCL kann direkt in die einzelnen Anwendungen eingebettet werden.

Etwa zeitgleich mit TCL entstand die Sprache Perl , um awk als Kommunikationssprache für das UNIX-Betriebssystem abzulösen. Sehr schnell breitete sich der Anweundungsbereich von Perl aus: Perl hat sich in kurzer Zeit als die führende Sprache für CGI-Scripte etabliert.

JahrSpracheUrheber
1958 Lisp (List Processing)John McCarthy
1964JCL (Job Control Language)IBM OS/360
1969UNIX ShellKen Thompson, AT&T
1975SchemeGerald Sussman, Guy Steele
1977awk (a="Aho", w="Weinberger", k="Kernighan")Alfred V. Aho, Peter J. Weinberger, Brian W. Kernighan
1978cshBill Joy, Berleley Unix 2BSD
1979shSteve Bourne, AT&T, Unix Version 7
1987TCL (Tool Command Language)John Ousterhout, University of California
1987Perl (Practical Extraction and Report Language)Larry Wall
1989Python (Guido van Rossum, Amoeba
~1992AppleScriptApple, System 7
1994PHP (PHP: Hypertext Preprocessor)Rasmus Lerdorf
1995JavaScriptNetscape, Navigator 2
1998VBScriptMicrosoft, Win98

Zum Inhaltsverzeichnis

Quellen:

Fischbach, Rainer (1999): Schwierige Abgrenzung: Von den Job Control Languages bis Perl und Python; erschienen in: ix Magazin für professionelle Informationstechnik, Ausgabe 12, Dezember 1999, SS. 60-65

Kims, Eugene Eric (1997): CGI Developer's Guide. München: SAMS Verlag.

Watt, David A. (1996): Programmiersprachen - Konzepte und Paradigmen. München u.a.:Carl Hanser Verlag.

Bolby, Martin und Jackson David S. (1998): Using SGML. Indianapolis: QUE

Zum Inhaltsverzeichnis