Zweck einer Programmiersprache

Eine Programmiersprache dient dazu, ein Programm mit schriftsprachlichen Mitteln beschreiben zu können, wobei diese Beschreibung wenigstens noch einigermaßen einem Text in menschlicher Sprache ähnelt (zumeist Englisch).

Grobe Unterscheidung in zwei Kategorien

Es gibt zwei prinzipiell verschiedene Arten von Programmiersprachen:

Maschinennahe Sprachen = Assemblersprachen
Die sprachlichen Elemente bestehen aus sehr kurzen mnemotechnischen Ausdrücken wie
Höhere bzw. problemorientierte Sprachen
Die sprachlichen Elemente bestehen aus ganzen oder abgekürzten Wörtern und Wortverbindungen, welche einfachere aber ähnliche Strukturen aufweisen wie eine menschliche Sprache.
Beispiele: Weiterhin wird, anders als in einer Assemblersprache, häufig ein Satz verschiedener Datentypen zur Verfügung gestellt, welcher durch vom Programmierer definierte Typen erweiterbar ist.

Erstellung eines Programms

Zur Erstellung eines Programms entwirft man die grundlegenden Ideen zunächst weitgehend unabhängig von einer Programmiersprache. Das Resultat ist u.a. die grafische Darstellung eines Algorithmus.

Danach muss die Entwurfsidee implementiert werden, wozu man sich einer Programmiersprache bedient.
Hierzu entwirft man einen zum zuvor entworfenen Algorithmus passenden Quelltext in ebendieser Programmiersprache. Diesen Quelltext kann man mit einem Editor eingeben und bearbeiten.

Anschließend werden die Werkzeuge der Programmiersprache verwendet, um ein ablauffähiges Programm zu erhalten. Wesentliche Werkzeuge einer Programmiersprache sind Übersetzer wie Assembler und Compiler bzw. Interpreter.

Implementationen von Programmiersprachen

Höhere bzw. problemorientierte Programmiersprachen können implementiert sein als

Interpretersprache
Der eingegebene Quelltext wird von einem speziellen Editor während der Eingabe in eine kompakte Kurzform umgesetzt. Das so erhaltene ablauffähige Programm kann nicht unmittelbar von der CPU des Computers abgearbeitet werden. Hierfür ist ein Interpreter-Programm erforderlich, welches die Programmelemente (Token oder Code-Bytes, nicht jedoch Quelltext) einzeln und nacheinander mit Hilfe von zumeist mehreren CPU-Befehlen ausführt.

Compilersprache
Der Quelltext kann mit jedem beliebigen Editor oder ggf. Textverarbeitungssystem eingegeben und als ASCII-Datei abgelegt werden. Aus dieser Datei wird eine von der CPU abarbeitbare Programmdatei, indem die Datei zumindest durch einen sog. Compiler übersetzt wird. Zumeist wirken auf dem Weg zur Programmdatei weitere Werkzeuge mit.

Kombination aus Compiler- und Interpretersprache
Der Quelltext wird in eine Datei aus kompaktem Code übersetzt, der z.B. P-Code (P für pseudo) oder Byte-Code genannt wird. Diese Datei kann nicht von der CPU sondern von einem virtuellen Prozessor abgearbeitet werden, welcher durch einen kleinen und leistungsfähigen Interpreter implementiert wird.