Skriptsprachen VS Systemprogrammiersprachen

Skriptsprachen VS Systemprogrammiersprachen

Programmiersprachen lassen sich auf verschiedene Weisen kategorisieren. In diesem Artikel wollen wir eine Unterteilung in Skriptsprachen und Systemprogrammiersprachen vornehmen und deren Vor- und Nachteile genauer betrachten.

Es war einmal vor langer Zeit (1998)

Die Einteilung in 2 Lager kommt nicht von irgendwo, sondern vom Computerwissenschaftler John Ousterhout, der auch die Open-Source-Skriptsprache TCL entwickelte. Allgemein ist diese Unterscheidung von Skript- und Systemprogrammiersprache als „Ousterhout’s dichotomy“ bekannt.

Alles Blödsinn?

Die Ousterhout’s dichotomy ist nicht ganz unumstritten, da es Programmiersprachen gibt, welche nicht eindeutig zugeordnet werden können. Dennoch eignet sie sich sehr gut, um die Arten von Programmiersprachen in zwei Lager einzuteilen.

Der Unterschied

Skriptsprachen unterscheiden sich von Systemprogrammiersprachen vorrangig dadurch, dass Skriptsprachen für das „Gluing“ (Verbinden) von Anwendungen entwickelt wurden. Ein einfaches Beispiel dafür ist die Ausgabe eines Programmes an ein anderes Programm weiterzuleiten.

Systemprogrammiersprachen setzen meist auf „Statische Typen“. Vereinfacht gesagt muss beim Erstellen des Codes angegeben werden um welche Art von Variable es sich handelt (z.b. Integer, String). Bei Skriptsprachen hingegen findet man meist „Dynamische Typen“. Mit anderen Worten gesagt muss beim Erstellen des Codes nicht angegeben werden um welche Art von Variable es sich handelt.
Beides hat seine Vor- und Nachteile. Einerseits erspart einem die dynamische Typisierung eine Menge Arbeit, andererseits geht so ein Teil der Programmdokumentation verloren, da der Typ einer Variablen nicht mehr sofort ersichtlich ist. Dies kann sich bei zunehmender Programmkomplexität als sehr störend erweisen.

Skriptsprachen

Vorteile:

  • Je nach Aufgabenstellung können Lösungen mit Skriptsprachen bis zu 10-mal schneller entwickelt werden als mit Systemprogrammiersprachen.
  • Es ist keine manuelle Umwandlung von Datentypen notwendig.
  • Die automatische Umwandlung und Verhaltenstransformation spart viel Arbeit.

Nachteile:

  • Das Angeben von Datentypen ist eine Art von Dokumentation, die bei Skriptsprachen leider weg fällt.
  • Skriptsprachen weisen meist eine schlechtere Performance als Systemprogrammiersprachen auf.
  • Weniger komfortabel beim Debuggen (Fehlersuchen).

Systemprogrammiersprachen

Vorteile:

  • Allgemein bessere Performance.
  • Performance Steigerung durch manuelles Festlegen des Datentyps.
  • Bei komplexen Programmen übersichtlicher.
  • Das Festlegen von Datentypen ist gleichzeitig eine Art von Dokumentation.

Nachteile:

  • Aufwändiger bei der Implementation.
  • Datentypen müssen manuell umgewandelt werden.
  • Programmänderungen oft aufwändiger.

Die Programmiersprache für Anfänger?

Falls du noch nicht programmieren kannst und dich die Frage quält mit welcher Sprache du anfangen möchtest, lies dir bitte diesen Artikel durch. Ob man als erste Sprache eine Systemprogrammiersprache oder einer Skriptsprache wählen soll lässt sich nur schwer beantworten. Meiner Meinung nach wird dir der Einstig mit einer Skriptsprache leichter fallen, allerdings werden dir so aber einige wichtige Konzepte fehlen, welche für Systemprogrammiersprachen sehr wichtig sind.

Quiz

Zum Abschluss gibt es noch zwei einfache Fragen. Wenn du den Text aufmerksam gelesen hast, dann sollte dir die Beantwortung nicht allzu schwer fallen. Klicke auf „Antwort“ um die Lösung zu erhalten.

Bei welcher Art von Programmiersprachen muss sich der Programmierer keine Gedanken um den Typ einer Variable machen?

 

Du möchtest die Ausgabe eines Programmes als Eingabe für ein anderes Programm verwenden. Mit welcher Art von Programmiersprache lässt sich dies am einfachsten / schnellsten umsetzen?

So einfach ist das

Das war doch gar nicht so schwer. Jetzt kannst du nicht nur Skript- von Systemprogrammiersprachen unterscheiden, sondern weißt auch warum beide ihre Daseinsberechtigung haben.

 

Ein Gedanke zu „Skriptsprachen VS Systemprogrammiersprachen

Schreibe einen Kommentar