Was ist objektorientierte Programmierung?

Die objektorientierte Programmierung ist ein Software-Architektur-Konzept, das einerseits ein erfolgreiches Model zur Abstraktion von realen Bedingungen in Softwareanwendungen bietet.

Andererseits bieten die Methoden einer objektorientierten Programmierung den Software-Entwickler*innen ein ideales Vorgehensmodell zur Produktivitätssteigerung.

Objektorientierte Programmierung - Objektorientierung in der Software-Entwicklung

Objektorientierte Programmierung – Objektorientierung in der Software-Entwicklung

Objektorientierung und Software-Design

Objektorientierte Softwareentwicklung betrifft immer das Design von Software und Anwendungen im Bezug zueinander.

Die Objektorientierung ist also ein Design-Pattern und als solches bereits in der Entwurfphase der Konzeption und Entwicklung von Software relevant. Die Entscheidung zur Nutzung einer objektorientierten Programmiersprache ist somit immer zugleich eine Entscheidung im Kontext der Software-Architektur.

Warum eignen sich objektorientierte Programm-Modelle zur Produktivitätssteigerung?

Der Ansatz einer objektorientierten Programmierung ermöglicht eine extrem hohe Wiederverwendbarkeit der in Objekten und Methoden definierten Programm-Logik.

Gleichzeitig sind die konzipierten Objekte und mit ihren Klassen und Funktionen immer leicht erweiterbar, so dass der Vorteil einer hochgradigen Erweiterbarkeit gegeben ist.

Unter diesen Voraussetzungen gelingt es einem/einer Programmierer*in benötigte Programmfunktionen in kürzerer Zeit zu realisieren, weil regelmäßig die Möglichkeit besteht bereits vorhandene Programm-Konzepte objektorientiert erweitern zu können.

Geschichte der objektorientierten Programmierung

Aus heutiger Perspektive gibt es kaum ernsthafte Alternativen zu einem objektorientierten Programm-Modell. Die in den 70er Jahren vorherrschende strukturierte Programmierung ist ein Gegenmodell und kann als evolutionäre Vorstufe verstanden werden.

Wie kommt es zum Wandel in Richtung einer Objektorientierung?

Den Siegeszug der Objektorientierung läutete der niederländische Informatiker Edsger W. Dijkstra ein. Dieser wies bereits 1968 darauf hin, dass die in Programmen bislang übliche go to-Anweisung katastrophale Auswirkungen auf die Qualität von Software hat. Aus Überzeugung schlug Dijkstra vor, diesen Programmbefehl aus allen höheren Programmiersprachen zu verbannen, siehe „Goto Statements Consideres Harmful„.

Die dann an Popularität gewinnenden Programmiersprachen Algol und Pascal war es zu verdanken, dass die Softwareentwicklung einen Verlauf in Richtung einer für Programmierer leicht verständlichen Ablaufsteuerung nahm.

Chunking – Probleme in Teilprobleme zerlegen

Die in der Informatik bewährte Vorgehensweise Probleme in Teilprobleme zu zerlegen ist als Chunking bekannt. Diese Methode ist auch ein zentraler Ansatz im Prototyping. Konzeptionell ist die Chunking-Methode ein Vorgehensmodell der schrittweisen Verfeinerung.

Darauf aufbauend entwickelte sich dann die strukturierte Programmierung in der Anwendungen in Prozeduren organisiert wurden.

Von einer modul-orientierten Programmierung zur objektorientierten Softwareentwicklung

Das anschließende Konzept der modulorientierten Programmierung  ermöglichte in Folge die Realisierung von Software in Teams die jetzt parallel an Software-Modulen arbeiten konnten.

Ab den 90er Jahren bis heute hat sich das Modell der objektorientierten Softwareentwicklung durchgesetzt.