Imperative Sprachen

Imperative Sprachen

Imperative Programmierung ist ein Programmierparadigma. Ein imperatives Programm beschreibt eine Berechnung durch eine Folge von Anweisungen, die den Status des Programms verändern. Im Gegensatz dazu wird unter dem deklarativen Programmierparadigma eine Berechnung beschrieben, in dem kodiert wird was berechnet werden soll, aber nicht wie.

Inhaltsverzeichnis

Details

Der Programmstatus besteht aus allen Speicherzellen, auf die das Programm Zugriff hat, inklusive der deklarierten Variablen, den Prozessor-Registern und dem Programm-Zähler. Der Programm-Zähler gibt die Position in der Anweisungsfolge an, mit der die Programmausführung nach der aktuellen Anweisung fortgesetzt werden soll.

Beispiele für imperative Anweisungen sind eine Schleifenanweisung (bedingt wird der Programm-Zähler verändert) oder die Speicherung eines konstanten Wertes in einer Variablen.

Fortran, Pascal und C sind Beispiele für konkrete imperative Programmiersprachen.

Das abstrakte Ausführungsmodell, das dem imperativen Paradigma zugrunde liegt, ist nah verwandt mit der Ausführung von Maschinen-Code auf einem konkreten Computer, der die vorherrschende Von-Neumann-Architektur implementiert. Es existieren beispielsweise bedingte und unbedingte Sprunganweisungen, mit denen Schleifen realisiert werden können. Der Status des Rechners setzt sich aus dem Arbeitsspeicherinhalt und den Registerinhalten zusammen.

Beispiel

Ausgabe der Quadratzahlen von ungeraden Zahlen von 3 bis 11.

Imperative Version in C:

int i;
for (i=3; i<12; i=i+2) {
  int q = i * i;
  printf("%d\n", q);
}

Deklarative Version in Haskell

show $ [ i*i | i <- [3..11], odd i ]

Geschichte

Die 1957 entwickelte Programmiersprache Fortran, die älteste höhere Programmiersprache, implementiert wie die zuvor verwendeten Assemblersprachen das imperative Paradigma. LISP, 1958 erschienen, ist ein Beispiel für eine deklarative Sprache, bei denen der Computer selbst einen Handlungsablauf zur Berechnung konstruieren muss.

Abgrenzung

Der Begriff der prozeduralen Programmierung wird oft synonym gebraucht, setzt aber die Verwendung von Prozeduren voraus, was nicht für jede imperative Programmiersprache gelten muss. Beispielsweise kennen ältere BASIC-Varianten keine Prozeduren.

Das Prinzip des Information Hiding (Datenkapselung) wird in imperativen Sprachen oft dadurch umgesetzt, dass Prozeduren, die eine logische Einheit bilden, in Modulen oder Paketen zusammengefasst werden.

Einige imperative Programmiersprachen wie z.B. C++ und Java bieten neben prozeduralen Merkmalen auch zusätzliche Sprachmittel um explizit die objektorientierte Programmierung zu unterstützen.

Literatur

  • Terrence W. Pratt and Marvin V. Zelkowitz: Programming Languages: Design and Implementation. 4th Auflage. Prentice Hall, 2000, ISBN 978-0130276780. 
  • Robert W. Sebesta: Concepts of Programming Languages. 9th Auflage. Addison Wesley, 2009, ISBN 978-0136073475. 

Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Imperative Programmierung — ist ein Programmierparadigma. Ein imperatives Programm beschreibt eine Berechnung durch eine Abfolge von Anweisungen, die den Status des Programmes verändern. Im Gegensatz dazu wird unter dem deklarativen Programmierparadigma beschrieben, was… …   Deutsch Wikipedia

  • Imperative Programmiersprache — Imperative Programmierung ist ein Programmierparadigma. Ein imperatives Programm beschreibt eine Berechnung durch eine Folge von Anweisungen, die den Status des Programms verändern. Im Gegensatz dazu wird unter dem deklarativen… …   Deutsch Wikipedia

  • imperative Programmierung — imperative Programmierung,   die Programmiermethode, die eine Berechnung als Folge von Zustandsänderungen von Variablen betrachtet. Ein Programm besteht demnach aus einer Folge von Befehlen an den Computer, wie z. B. »Schreibe in die Variable x… …   Universal-Lexikon

  • Omotische Sprachen — Verbreitung der omotischen Sprachen Südomotisch …   Deutsch Wikipedia

  • Semitische Sprachen — Semitisch (Orange) innerhalb der afroasiatischen Sprachen Die semitischen Sprachen sind ein Zweig der afroasiatischen Sprachfamilie. Sie werden heute von ca. 260 Millionen Menschen im Nahen Osten, in Nordafrika und am Horn von Afrika gesprochen.… …   Deutsch Wikipedia

  • Mao-Sprachen — Die Mao Sprachen werden im Südwesten Äthiopiens gesprochen und bilden einen Zweig der nördlichen omotischen Sprachen. Nach Bender 2000 besitzt das Mao vier Einzelsprachen oder Dialektcluster: Hozo hooz wandi (3000) Sezo/Seze seezi waanɛ, seezi… …   Deutsch Wikipedia

  • MOF QVT — Query View Transformation (MOF QVT) ist eine Spezifikation der Object Management Group, die eine (Programmier ) Sprache für Modell zu Modell Transformationen beschreibt. QVT ist Teil der Meta Object Facilities (MOF), einer Sammlung von Dokumenten …   Deutsch Wikipedia

  • QVT — Query View Transformation (MOF QVT) ist eine Spezifikation der Object Management Group, die eine (Programmier ) Sprache für Modell zu Modell Transformationen beschreibt. QVT ist Teil der Meta Object Facilities (MOF), einer Sammlung von Dokumenten …   Deutsch Wikipedia

  • Qvt — Query View Transformation (MOF QVT) ist eine Spezifikation der Object Management Group, die eine (Programmier ) Sprache für Modell zu Modell Transformationen beschreibt. QVT ist Teil der Meta Object Facilities (MOF), einer Sammlung von Dokumenten …   Deutsch Wikipedia

  • Deklarative Sprache — Deklarative Sprachen sind eine Gruppe von Computersprachen auf der Basis von Funktionen und Operatoren (funktionale Programmiersprachen), logischer Kalküle (wie Lambda Kalkül, Prädikatenlogik) oder Datenflussgraphen. Den deklarativen Sprachen… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”