Prozedurale Programmierung

Bei der prozeduralen Programmierung wird ein Problem in Teilprobleme zerlegt. Diese werden in Funktionen (auch: Prozeduren) mit einem Eingang und einem Ausgang gelöst.


Funktionen sollen Daten verarbeiten, die ihnen über Parameterlisten als Schnittstellen übergeben worden sind.

Ursprünglich dienten Computer fast ausschließlich dazu,  Rechenaufgaben zu lösen, deren Umfang und Komplexität relativ begrenzt war. Die Programme waren noch relativ klein (gemessen an heutigen Maßstäben). Für diese Zwecke war das Programmierkonzept der prozeduralen Programmierung völlig ausreichend.
Mit steigender Leistung der Computer wuchs aber auch die Größe und Komplexität der Programme sehr stark. Der Computer vollzog einen Wandel zu einem universellen Arbeitsgerät. Heute erstrecken sich die Anwendungen über Gebiete wie z.B. Multimedia, künstlicher Intelligenz und Kommunikation.
Das erfordert eine größere Übersicht bei der Programmierung, bzw. mehr Programmstruktur.


Diese Entwicklung erforderte ein Umdenken auch bei dem Programmierkonzept:

Objektorientiertes Programmieren

Die reale Welt besteht nicht aus Abläufen, die man gut mittels Funktionen in der abstrakten prozeduralen Art und Weise darstellen kann. (Programme bilden immer auf die eine oder andere Art die Realität ab.)

Die Welt besteht zunächst einmal aus Dingen, Gegenständen, Personen etc., die es zu betrachten und damit in den Vordergrund zu stellen gilt. Diese Objekte haben bestimmte Eigenschaften und interagieren in bestimmter Weise miteinander.


DatenkapselungObjekte verarbeiten mit ihren eigenen Methoden die eigenen Daten (Eigenschaften).

Wenn Objektdaten (Eigenschaften) nur über eine Methode des Objekts selbst verändert werden können und niemals direkt, spricht man von Datenkapselung.

Die Eigenschaft "Geschwindigkeit" eines Fahrzeugs kann nur durch eine Methode "Gas geben" desselben Fahrzeugs erhöht werden. Direkt lässt sie sich nicht verändern, was die Programmsicherheit stark erhöht. Die Geschwindigkeit des Nachbarfahrzeugs ist nur durch die Methode "Gas geben" eben dieses Nachbarfahrzeugs möglich.

Objektorientierte Programmierung Prozedurale Programmierung
+ Reale Welt besteht aus Objekten, daraus folgt, bessere Abbildbarkeit.
+ Durch Datenkapselung sind die Eigenschaften eines Objektes geschützt.
+ Mehr Übersicht => bessere Wartbarkeit usw.
+ Wiederverwendung durch Vererbung wird erleichtert.
+ Etwas weniger Quellcode bei kleinen Programmen,
+ etwas mehr Performance (Geschwindigkeit) bei Interpreter- Sprachen
Last modified: Sunday, 8 February 2015, 5:53 PM