Skriptsprachen
Definition
Skriptsprachen sind Programmiersprachen, die vorwiegend für die Automatisierung von Aufgaben, die Steuerung von Software oder die Webentwicklung eingesetzt werden. Sie werden in der Regel interpretiert, also zur Laufzeit von einem Interpreter ausgeführt (oft über einen intern erzeugten Bytecode), statt vorab in Maschinencode kompiliert zu werden.
Unterschied zu Hochsprachen (kompiliert)
| Merkmal | Skriptsprache (Interpretiert) | Kompilierte Sprache |
|---|---|---|
| Ausführung | Quellcode wird zur Laufzeit durch einen Interpreter ausgeführt. | Quellcode wird vorab durch einen Compiler in Maschinencode übersetzt. |
| Geschwindigkeit | Tendenziell langsamer (Overhead durch Interpreter). | Sehr schnell (direkte Ausführung durch CPU). |
| Typisierung | Meist dynamisch (Typ wird zur Laufzeit ermittelt). | Meist statisch (Typ steht beim Kompilieren fest, wird deklariert oder vom Compiler abgeleitet). |
| Fehlererkennung | Oft erst zur Laufzeit (Absturz). | Schon beim Kompilieren (vor dem Start). |
| Beispiele | Python, JavaScript, PHP, Ruby. | C, C++, Go, Rust. |
Java und C# sind eine Mischform: Der Compiler erzeugt Bytecode, den eine virtuelle Maschine (JVM bzw. CLR) zur Laufzeit ausführt und per JIT in Maschinencode übersetzt.
Gängige Skriptsprachen
Python
- Einsatz: Data Science, KI, Web-Backend, Automatisierung.
- Merkmal: Sehr gut lesbare Syntax ("ausführbarer Pseudocode").
JavaScript
- Einsatz: Web-Frontend (im Browser), Web-Backend (Node.js).
- Merkmal: Die Skriptsprache, die nativ in jedem Browser läuft. Daneben führen Browser nur noch kompilierten WebAssembly-Code aus.
Bash (Bourne Again Shell)
- Einsatz: Linux-Systemadministration, Server-Automatisierung.
- Merkmal: Mächtiges Werkzeug für Dateioperationen und Prozesssteuerung.
Beispiel: Ein Shell-Skript zählt die Zeilen aller Logdateien im aktuellen Verzeichnis.
Bash
#!/bin/bash
# Zeilen aller Logdateien im aktuellen Verzeichnis zählen
ANZAHL=0
for DATEI in *.log; do
ZEILEN=$(wc -l < "$DATEI")
echo "$DATEI: $ZEILEN Zeilen"
ANZAHL=$((ANZAHL + 1))
done
echo "$ANZAHL Dateien geprüft"
- Shebang (
#!/bin/bash): Erste Zeile, legt den Interpreter fest. - Variable: Zuweisung ohne Leerzeichen (
ANZAHL=0), Zugriff mit$ANZAHL. - Schleife:
for ... in ...; do ... donedurchläuft alle Dateien, die auf*.logpassen. - Befehlsersetzung:
$(...)setzt die Ausgabe eines Befehls ein,$((...))rechnet. - Ausführen:
chmod +x zaehlen.sh, danach./zaehlen.sh.
Weitere Grundlagen wie Bedingungen, Pipes, Umleitungen und Cronjobs stehen im Lernzettel "Skripting und Automatisierung".
PowerShell
- Einsatz: Vor allem Windows-Systemadministration, als PowerShell 7 auch unter Linux und macOS.
- Merkmal: Basiert auf .NET, objektorientierte Pipeline.
Vor- und Nachteile
Vorteile:
- Schnelle Entwicklung (RAD): Weniger Code, kein Kompilieren nötig.
- Plattformunabhängig: Quellcode läuft überall, wo der Interpreter installiert ist.
- Einfach zu lernen: Weniger komplexe Syntax.
Nachteile:
- Performance: Langsamer als native Anwendungen.
- Sicherheit: Quellcode ist oft für den Endanwender einsehbar (bei Verteilung).