Imperative Programmiersprachen
In diesem Text wird unter einer Prozedur etwas verstanden, das den Zustand eines Systems nach einer gewissen Regel verändert.
Eine imperative Programmiersprache bietet eine Menge verfügbarer Prozeduren (Elementarprozeduren, Kommandos), die durch zeitliche Hintereinanderausführung (durch eine Sequenz ) zu einer neuen Prozedur kombiniert werden können.
Die Niederschrift solch einer Sequenz ist ein imperatives Programm. Ein Elementaranweisung in einem Programm ist die Anweisung, die durch die Elementaranweisung angegebene Elementarprozedur auszuführen.
Derjenige, der die Anweisungen entgegennimmt und umsetzt, wird Interpretierer oder Prozessor genannt.
Das Adjektiv „imperativ“
Das Adjektiv „imperativ“ bedeutet „kommandoartig“ und bezieht sich darauf, daß die Elementarprozeduren wie Kommandos sind. Das Adjektiv stammt vom spätlateinischen „imperativus“, welches wiederum auf das lateinische „imperatus“, das Partizip Perfekt des Verbs „imperare“ (kommandieren) zurückgeht. Diese leitet sich von „in-“ und „parare“ (vorbereiten) ab.
Niedrige imperative Sprachen
Elementaranweisungen einer niedrigen imperativen Sprache sind letztendlich Bitmuster, die auf die technischen Bedürfnisse und Fähigkeiten eines Prozessors zugeschnitten sind. Sie richten sich danach, was technisch effizient zu realisieren ist. Jeder Code stellt eine bestimmte Instruktion (Anweisung) an den Prozessor dar.
Solche Sprachen richten sich weniger nach den Bedürfnissen und Fähigkeiten von Menschen. Die Codes sind beispielsweise für Menschen zunächst ganz unverständlich und müssen in jedem Fall erst in einem Handbuch nachgeschlagen werden.
Höhere imperative Sprachen
Höhere imperative Sprachen bestehen aus Merkwörtern, die in einer an menschliche Sprachen angelehnten Weise zusammengesetzt werden können. Damit sind sie für Menschen besser handhabbar. Neben den vorgegebenen Elementaranweisungen der Sprache, kann ein Programmierer oft aus mehreren Anweisungen bestehende komplexe Anweisungen definieren und verwenden.
Programme einer höheren imperativen Sprache können von einem maschinellen Prozessor oft nicht direkt ausgeführt werden. Sie werden daher oft zunächst in eine direkt ausführbare Sprache (normalerweise eine niedrige imperative Sprache) übersetzt oder durch ein anderes Programm interpretiert.