AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Delphi objektorientiert?

Ein Thema von Rapthor · begonnen am 16. Nov 2005 · letzter Beitrag vom 30. Nov 2005
Antwort Antwort
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#1

Re: Delphi objektorientiert?

  Alt 30. Nov 2005, 13:35
Zitat von alzaimar:
Ich würde deine Sichtweise nicht als Merkmal der OOP, sondern eher als Merkmal verteilter Systeme definieren. Die bloße Tatsache, das Smalltalk mit Nachrichten rumhantiert, gibt ihr ja nicht automatisch den alleinigen Besitzanspruch für die Eigenschaft 'OO'.
Natürlich ist Kommunikation nur eine Notwendig Bedingung für OOP, keine Hinreichende und natürlich ist Kommunikation nur eine Bedingung.

Fakt ist, dass Delphi Programme Imperativ sein können. Der Beweis, dass Delphi aber nicht imperativ ist liegt in jedem TThread (ausser dem der Hauptanwendung/Main-Thread, wie auch immer). Den die imperative Programmierung geht definitiv von einer CPU aus, die sequenziell arbeitet (und es gibt ne Menge nicht sequentieller Programme in Delphi).

Fakt ist, dass Delphi Programme OO sein können. Der Beweis, dass Delphi aber nicht OOP ist, liegt in jeder dpr-Datei, die imperativ arbeitet (oder mindestens zu einem rein imperativen Programm umgeformt werden kann).

Fakt ist also, Delphi ist weder OOP noch Imperativ. Frage geklärt.

Die Sache ist und bleibt doch nun mal, wie genau ist OOP definiert. Was im Wiki steht ist natürlich keine allgemeingültige Definition (das Bedingt die Idee des Wikis).
Aber bei OOP handelt es sich nur um ein Programmierparadigma, dass wie bereits erwähnt eine bestimmte Sicht auf Probleme ermöglicht und diese damit auf eine Bestimmte Art und Weise löst. Da habeb also alle Recht, die das hier (denke es war mehrfach, zuletzt jedenfalls von alzaimar) gesagt haben.

Das Smalltalk OO ist liegt nicht an der Kommunikation zwischen Objekten sondern vielmehr daran, dass ein Smalltalk Programm nur die Kommunikation von Ojekten ermöglicht. Mehr ist, soweit ich weiß, nicht möglich. Es ist vorallem nichts anderes mit Smalltalk möglich.
Natürlich dürfen auch in anderen Programmierparadigmen Objekte existieren und miteinander Kommunizieren. Aber solche Paradigmen erfüllen schon mal einen Teil der Anforderungen an die OOP (da ist eine Verwechslung schon mal leicht).

Da OOP nur ein Paradigma ist, kann man nicht wirklich sagen dass eine Sprache OOP ist (auch wenn ich es hier schon mehrfach getan habe). Das liegt aber eher daran, dass wir doch dazu neigen unsere Sätze kontexsensitiv bilden (unsere Programme eher kontextfrei).
Natürlich kann man ein Paradigma nur einhalten oder nicht. Natürlich muss es die Möglichkeiten geben das Paradigma einzuhalten oder zu verletzen. Also kann eine Sprache nie OOP sein, wenn z.B. Kapselung unmöglich ist, sie muss wiederum OOP sein, wenn alle Bedingung immer erfüllt sind. Kann man das Paradigma erfüllen oder verletzen, ist keine Festlegung für die Sprache im allgemeinen sondern nur noch für einzelne Programme möglich.

Und damit sage ich es nochmal, Delphi ist weder OOP noch nicht OOP (oder wer möchte es ist gleichzeitig OOP und nicht OOP), hängt nur noch von der Auslegung (und meinen Denkfehlern) ab.

... und entspricht nahezu dem was alzaimar als letzten Satz schrieb, hm, bin wohl ein Letzes-Wort-Fetischist?!
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz