Als Programmier-Paradigma bezeichne ich eine grundlegende Anschauungen dazu, wie programmiert werden (sollte). Solche Anschauungen zeigen sich vor allem in der Konzeption von Programmiersprachen. |
Ich unterscheide:
Diese Bezeichnungen sind konventionell und werden nicht einheitlich verwendet, vor allem auch, weil die Ansätze oft vermischt werden, was auch den Ausdruck Paradigma relativiert. Wo sich solche Vermischungen nicht mehr zuordnen lassen, werden einfach neue "Paradigmen" erfunden.
Die grundsätzliche Unterscheidung betrifft, was in einem Programm beschrieben wird.
Die imperative Programmierung gibt dem Computer Anweisungen, die er als Befehle befolgen muss.
Die deklarative Programmierung beschreibt, wie Datenbstände reagieren
Die objektorientierte Programmierung ist eine Variante der deklarative Programmierung, bei welcher Objekte Elemente einer Organisation bilden.
Veranschaulichung anhand eines herstellenden Betriebes:
imperativ: Der Inhaber des Betriebes (der durch einen Direktor, Kapitän, oder CEO ersetzt wird) befielt, wer was tun muss.
deklarativ: Ein Beobachter beschreibt, wer sich im Betrieb wie verhält.
Die Unterschiede der beiden Herangehensweisen werden bei der Implementierung eines Algorithmus deutlich, den man als Kombination von Arbeits- und Steuermechanismus betrachten kann:
Bei Verwendung einer imperativen Programmiersprache ist eine Trennung von Arbeits- und Steuermechanismus kaum möglich (war bei J. von Neumann nicht vorgesehen).
Deklarative Sprachen ermöglichen eine Trennung der beiden Bestandteile.