Hi,
immerhin hattest Du am Rande die These aufgestellt, dass es "Programmierer, die in prozeduralen Sprachen hervorragende Arbeit leisteten" gibt.
Es handelt sich nicht um eine These, sondern um Empirie.
Diese denken also nach Deiner Erfahrung nicht objektorientiert. Nun, was machen die denn dann?
Sie denken spaghetti. Sie denken tayloristisch.
Ich kenne die auch, das sind Entwickler mit Produktwissen (d.h. die kennen bspw. Elemente ihrer Sprache und IDE in und auswendig) und mit wenig konzeptionellem Wissen. Aber sicherlich keine Programmierer, die "hervorragende Arbeit" leisten.
Mit "prozeduralen Sprachen" meinte ich Sprachen, die keine OO-Konzepte implementieren. Ich bezweifle, daß der Versuch, objektorientierte Lösungsmodelle in derartigen Sprachen umzusetzen, zu optimalen Ergebnissen führt. Nicht-OO-Sprachen implizieren Nicht-OO-Problemanalysen und -Lösungsansätze, und sicherlich lassen sich mit solchen Konzepten gute Antworten auf reale Aufgabenstellungen geben. Und ich habe in meinem Leben einige Menschen kennengelernt, die ich in dieser Umgebung "hervorragende Arbeit" leisten sah. Objektorientierung an sich ist kein Qualitätsmerkmal, ist nicht gut oder besser qua Existenz. Meine Kernthese zu diesem Thema - gestützt durch langjährige Erfahrungen - bleibt: die Nutzung von OO-Systemen führt nicht automatisch zu objektorientierten Lösungsansätzen, und dann ist der Nutzungsvorteil eines solchen Ansatzes zweifelhaft. Um es mit Deinen Worten zu formulieren: viele OO-Entwickler können nicht objektorientiert denken.
Da stoße ich dann immer wieder auf Kurt Gödel: "Jedes formale System sprengt seine Axiome." Wie war!
Gilt das wirklich auch fuer einfache System?
Gödel spricht von "hinreichend mächtigen" Systemen. Ein objektorientiertes Softwaresystem (bzw. das Gesamtsystem Problemanalyse/Lösungsentwicklung/Implementierung) scheint mir von hinreichender Mächtigkeit zu sein. Wenn Du Dich im Informatikstudium (oder auf andere Weise) mit den theoretischen Grundlagen der objektorientierten Softwareentwicklung beschäftigt hast, bist Du sicher auf Unvollständigkeiten und Widersprüche gestossen, die eine vollständige, "reine" objektorientierte Lösung unmöglich machen. Oder Du hast in den entscheidenden Augenblicken geschlafen...
hth Robert