8 Stimmen

Welche Überlegungen standen hinter der Entwicklung der objektorientierten Programmierung?

Ich habe es hier mit einigen echten Neinsagern zu tun, und ich versuche, ihnen den Grund zu nennen, warum OOP überhaupt entwickelt wurde. Mir ist klar, dass OOP nicht für alle Probleme und Situationen perfekt ist, aber es wurde aus einem bestimmten Grund entwickelt...

Ich würde vermuten, dass einige dieser Gründe sein werden:

  • Instandhaltbarkeit
  • Wiederverwendbarkeit
  • Dokumentierbarkeit
  • Abstraktion komplexer Technologien
  • Dynamische Erweiterung zur Laufzeit...
  • Wahrscheinlich gibt es Dinge, die mir noch gar nicht bewusst sind...

Aber ich habe wirklich nicht viel, um das zu untermauern, und ich habe mich gefragt, warum OOP überhaupt entwickelt wurde, und wie es entstanden ist.

Was wollten die Menschen, die OOP entwickelt haben, damit erreichen? Was hat sie dazu gebracht, OOP zu entwickeln?

3voto

Justin Niessner Punkte 235353

Ich habe immer die Meinung vertreten, dass die objektorientierte Programmierung geschaffen wurde, damit wir über komplexe Probleme auf eine Weise nachdenken können, die Menschen verstehen können:

Alles in der Welt ist ein Objekt, Objekte haben Eigenschaften, und einige Objekte können sogar Aktionen ausführen (oder Aktionen auf sie ausführen lassen).

2voto

Chuck Punkte 228137

Alan Kay, der den Begriff "objektorientierte Programmierung" geprägt hat, hat erklärte sein Denken bei einigen Gelegenheiten.

Die Idee stammt im Wesentlichen aus der Biologie, wo jede Zelle eine in sich geschlossene Einheit ist und nur durch "Nachrichten" mit anderen Zellen interagiert, ohne etwas darüber zu wissen, wie die andere Zelle tatsächlich funktioniert, und all diese autonomen Einheiten einen lebenden Organismus ergeben. Er war der Meinung, dass diese Art der Aufteilung der Verantwortung mit vielen Einheiten, die sich um sich selbst kümmern und nur durch das Senden von Nachrichten kommunizieren, es einfacher machen würde, Programme zu organisieren. Er hat auch gesagt, dass er das World Wide Web als eine Erweiterung dieses Modells betrachtet.

1voto

Achilles Punkte 10887

Ein Grund, warum Sie zu dieser Debatte beitragen können, ist, dass OOP dabei hilft, die reale Welt mit Hilfe von Klassen, Funktionen und Eigenschaften zu modellieren, um konkrete Konzepte und Objekte auf abstrakte Weise zu definieren. Man könnte argumentieren, dass OOP den Entwicklern bei der Modellierung von Code nach den Prozessen und Objekten der realen Welt, die einen bestimmten Problembereich ausmachen, helfen sollte.

1voto

Pascal Thivent Punkte 548176

Ein gutes Buch hierfür ist Objektorientierter Softwarebau von Bertrand Meyer ( gilt weithin als grundlegender Text der objektorientierten Programmierung ). Aus der Wikipedia-Seite:

Das Buch, das unter seinen Fans als "OOSC" bekannt ist, stellt die Objekttechnologie als Antwort auf die wichtigsten Fragen des Software-Engineerings vor, mit besonderem Schwerpunkt auf der Lösung folgender Probleme die Softwarequalitätsfaktoren Korrektheit, Robustheit, Erweiterbarkeit und Wiederverwendbarkeit . Es beginnt mit einer Untersuchung der Fragen der Softwarequalität, führt dann in abstrakte Datentypen als theoretische Grundlage für die Objekttechnologie ein und fährt mit den wichtigsten objektorientierten Techniken fort: Klassen, Objekte, Generizität, Vererbung, Design by Contract, Parallelität und Persistenz. Auch methodische Fragen werden ausführlich erörtert.

1voto

Andreas Brinck Punkte 49116

Paul Graham hat eine gute Liste von Gründen, warum Menschen OOP mögen:

http://www.paulgraham.com/noop.html

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X