Der Martin: Vor- / Nachteile von Objektorientierung

Beitrag lesen

Hallo Marc,

[Ausführliche Darstellung des OOP-Konzepts]

Kurz gesagt: Der absolute Vorteil von OOP liegt in der Wiederverwendbarkeit der Klassen.

Ja, unbedingt. Diesen Vorteil kann man aber mit prozeduralen Ansätzen auch haben, wenn man einzelne Module sauber kapselt und ihre Schnittstellen klar dokumentiert.

Oder du selbst das Projekt einige Monate lang ruhen lässt und schließlich wieder in Angriff nimmst? Oder das Projekt sehr groß wird? Kommentare sind hier natürlich immer angebracht.

Und genau hier komme ich und sage: Das ist die Theorie, und sie hört sich verdammt gut an.
Die Praxis ist leider oft, dass Klassen für bestimmte Aufgaben existieren, aber sie sind jämmerlich bis überhaupt nicht dokumentiert. Dann verbringe ich als Programmierer nämlich die meiste Zeit damit, den Quellcode der Klasse zu analysieren, die ich eigentlich bloß einfach benutzen wollte. Und diese Code-Analyse ist wegen der oft recht komplexen Strukturen in OOP meist wesentlich schwieriger als in der klassischen prozeduralen Programmierung. In der Zeit hätte ich den Code oft schon neu geschrieben.

OOP heißt nicht immer "auf Biegen und Brechen objektorientiert machen".

Gut, dass du das sagst. Denn genau in der gesunden Mischung von prozeduralen und ojektorientierten Ansätzen liegt IMHO das Geheimnis. Und um objektorientiert zu programmieren, braucht man nicht unbedingt eine Sprache, die das "offiziell" kann. Ich programmiere z.B. am liebsten in reinem C, (C++ mag ich nicht, weil es zur Schlamperei verleitet), *denke* aber dabei trotzdem oft objektorientiert.

Schönen Abend noch,
 Martin

--
Viele Fachleute vertreten die Ansicht, jedes Feature eines Programms, das sich nicht auf Wunsch abstellen lässt, sei ein Bug.
Außer bei Microsoft. Da ist es umgekehrt.