Performancemythen?
-
Shade Of Mine schrieb:
Danke ich kann besser C als du
Müsste ich schätzen, würde ich Gegenteiliges vermuten. Und ich kann eine solche Vermutung auf Indizien stützen. Da ich in diesem Forum aber noch nie etwas zu C gesagt habe, hat deine lächerliche Aussage im Gegenzug jedoch schlicht keinerlei Grundlage. Doch das ist nicht das Thema hier.
Es geht darum, dass dein Beitrag sehr leicht nachweisbar mit von dir frei erfundenen Dingen argumentiert (ich sag nur Marcus' Buch). Dass du darauf mit deinem Ego als Argument reagierst, mag für dich vielleicht überzeugend sein. Bei objektiver Betrachtung ist es aber einfach nur kindlich und lächerlich. Das Verhalten ist hier zwar nicht einmalig (man denke nur an Jester), wohl aber zum ersten Mal an mich gerichtet.
Eine Selbstüberschätzung wie deine ist nebenbei auch für Menschen typisch, die zwar schon einiges wissen, aber noch über kein umfassendes, tiefergehendes Wissen verfügen. Das ist auch ein Indiz. Nur so als RandbemerkungLaut Xin ist das nicht OOP. Ist es für dich OOP?
Um die Frage zu beantworten gibst du mir zu wenig Informationen. Denn im Gegensatz zu dir ist für mich weder das ominöse Gedachte noch die hingeschriebene Syntax, sondern das tatsächlich ausgeführte Verhalten der bestimmende Faktor.
Und dabei halte ich es mit Stroustrups Defintion. Du hast also alle Informationen um dir selbst zu überlegen, ob ich den Code für objektorientiert halten würde oder nicht.
Ich selbst habe allerdings wenig Lust einen Ersatz für Xin hier zu spielen und den Thread um weitere 40 Seiten zu erweitern. Xin hat seine Definition von OOP, Stroustrup eine ähnliche und ich die selbe wie Stroustrup. Der große Rest hier wiederum hat sein eigenes teils dubioses Verständnis von OOP (von Definition kann ja oft keine Rede sein). Wenn in diesem Riesen-Thread eine Sache klar geworden ist, dann die, dass das OOP-Verständnis wohl teilweise Religion ist, auf jeden Fall keine der Seiten von ihrem Standpunkt abweicht und jede darüberhinaus der Gegenseite die Existenzberechtigung abspricht.
Also entschuldige bitte wenn ich u.U. einen Klärungsbedarf mit Sicherheit aber keinen Diskussionsbedarf sehe ...rüdiger schrieb:
minhen schrieb:
Shade Of Mine schrieb:
Aber ich kann nicht oft genug wiederholen: Es gibt massig Sprachen ohne virtuelle Funktionen. zB JavaScript.
"Ja", aber mit Laufzeit-Polymorphie. [...]
Warum muss es denn ausschließlich "Laufzeit-Polymorphie" sein? (was zB der Stroustrup gar nicht sagt, falls du mal wieder irgend was zitieren und entsprechend deiner Meinung auslegen willst)
Bereits mehrfach zitiert und vor vielen Seiten auch indirekt verlinkt. Diesmal zitiere ich es jedoch auch mal mit Kontext. Denn offensichtlich hat sich niemand hier - inklusive dir - die "Mühe" gemacht, es sich mal näher anzusehen:
Bjarne Stroustrup schrieb:
(...)
Given these general criteria for a definition of
’’object-oriented’’ you can find several plausible
candidates, and several communities have their own
definitions. However, I suggest we stick to the tradi-
tional definition of object-oriented used within broad
communities of programmers. A language or tech-
nique is object-oriented if and only if it directly sup-
ports:
[1] Abstraction – providing some form of classes
and objects.
[2] Inheritance – providing the ability to build
new abstractions out of existing ones.
[3] Run-time polymorphism – providing some
form of run-time binding.
This definition includes all major languages com-
monly referred to as object-oriented: Ada95, Beta,
C++, CLOS, Eiffel, Simula, Smalltalk, and many
other languages fit this definition. Classical pro-
gramming languages without classes, such as C, For-
tran4, and Pascal, are excluded. Languages that lack
direct support for inheritance or run-time binding,
such as Ada88 and ML are also excluded.
ML is a good example of something that is good
but not object-oriented.
(...)aus Bjarne Stroustrups Paper "Why C++ is not just an Object-Oriented Programming Language". Der dritte Punkt der Definition ist auch mit noch so viel Voreingenommenheit noch immer ziemlich eindeutig. Ohne Voreingenommenheit ist's selbst bei dem an selber Stelle verlinkten FAQ-Eintrag relativ klar.
-
hab zwar nur die letzten beiden seiten gelesen aber darf ich mal fragen inwiefern dem herrn strotrup seine auffassung von oop relevant sein sollte nachdem was alan kay schon so über c++ gesagt hat?
-
Overtaker schrieb:
Xin schrieb:
habe ich den Thread verlassen.
merkt man aber provozieren lässt dich trotzdem mit vergnügen gell?
*lach*
Ich verteidige mich hier nicht mehr. Das ist es nicht wert, also bin ich raus. Ich lese noch ein wenig mit, ich amüsiere mich über die Beleidigungen hier und im Chat und unterhalte mich mit denjenigen mit denen ich mich unterhalten möchte.Undertaker schrieb:
rüdiger schrieb:
Es geht ums Denken! (Und ich denke sicher nicht über so was konkretes wie Laufzeit oder Statischen Polymorphismus nach, wenn ich mir Objekte und die Nachrichten zwischen ihnen im Kopf zusammen lege).
stimmt schon was du sagt, aber letztendlich muss aus einer objektorientierten denkweise kein objektorientiertes programm entstehen. denn wenn man mal den abstraktionslevel runterschaltet, kann man Xin auch verstehen, der statischen polymorphismus als nichtig erklärt.
minhen schrieb:
Ich selbst habe allerdings wenig Lust einen Ersatz für Xin hier zu spielen und den Thread um weitere 40 Seiten zu erweitern.
Tu Dir selbst einen gefallen und lass es auch.
Du hast mit Marcus Buch ein Buch zitiert, was soweit ich weiß von vielen im Forum Korrektur gelesen wurde.
Ich sehe nicht, wo es bei "Shade of Mine" oder "Rüdiger" um eine Klärung geht, ich sehe nur, dass es darum geht, sich vehement zu wehren, die eigenen Ansichten nicht überdenken zu müssen.minhen schrieb:
Xin hat seine Definition von OOP, Stroustrup eine ähnliche und ich die selbe wie Stroustrup.
Ähnlich? Ich dachte bis eben, ich stimme mit Stroustrup überein!? Habe ich etwas übersehen, wo ich nicht mit Stroustrup übereinstimme?
Overtaker schrieb:
das ist natürlich relevant was herr stroustrup dazu sagt weil c++ schon immer ein musterbeispiel von objektorientierten konzepten war
na du schrieb:
hab zwar nur die letzten beiden seiten gelesen aber darf ich mal fragen inwiefern dem herrn strotrup seine auffassung von oop relevant sein sollte nachdem was alan kay schon so über c++ gesagt hat?
Was sagt Alan Key denn?
Alan Kay schrieb:
I invented the term "Object-Oriented", and I can tell you I did not have C++ in mind.
Als er den Begriff Objekt-Orientiert erfand, dachte er nicht an C++.
Und was heißt das jetzt? Das er an etwas anderes dachte. Ob er deswegen die OO-Unterstützung von C++ schlecht findet, kann ich daraus nicht lesen. Ich gehe ehrlich davon aus, dass er sich nicht gedacht hat, dass jemals irgendjemand auf die Idee kommt, ausgerechnet C als Unterbau für eine OO-unterstützende Sprache zu wählen. An sowas hätte ich an seiner Stelle auch nicht gedacht.Das ist ja das Zitat, um das es hier in der Regel geht.
Selbst wenn er C++ schlecht gefunden hätte, ändert das nichts daran, dass Stroustrup in C++ eine klare Abgrenzung von OOP und Nicht-OOP hat und somit durchaus als Musterbeispiel gelten darf.Alan Kay schrieb:
Java and C++ make you think that the new ideas are like the old ones. Java is the most distressing thing to hit computing since MS-DOS.
Obwohl Java heutzutage *die* populär-OO-forderene-Sprache schlechthin ist (so wie die Bildzeitung die Zeitung ist, die knallhart recherchiert und deswegen so populär ist), scheint er C++ im Vergleich schonmal besser als Java zu finden.
(Kein Java-Flamewar - es geht nur darum, dass es belegt, dass Alan Kay C++ anscheinend nicht als die ultimative OO-Katastrophe ansieht...)
-
minhen schrieb:
Shade Of Mine schrieb:
Danke ich kann besser C als du
Müsste ich schätzen, würde ich Gegenteiliges vermuten. Und ich kann eine solche Vermutung auf Indizien stützen. Da ich in diesem Forum aber noch nie etwas zu C gesagt habe, hat deine lächerliche Aussage im Gegenzug jedoch schlicht keinerlei Grundlage. Doch das ist nicht das Thema hier.
Es geht darum, dass dein Beitrag sehr leicht nachweisbar mit von dir frei erfundenen Dingen argumentiert (ich sag nur Marcus' Buch). Dass du darauf mit deinem Ego als Argument reagierst, mag für dich vielleicht überzeugend sein. Bei objektiver Betrachtung ist es aber einfach nur kindlich und lächerlich. Das Verhalten ist hier zwar nicht einmalig (man denke nur an Jester), wohl aber zum ersten Mal an mich gerichtet.
Eine Selbstüberschätzung wie deine ist nebenbei auch für Menschen typisch, die zwar schon einiges wissen, aber noch über kein umfassendes, tiefergehendes Wissen verfügen. Das ist auch ein Indiz. Nur so als RandbemerkungIst das wirklich nötig?
minhen schrieb:
Der große Rest hier wiederum hat sein eigenes teils dubioses Verständnis von OOP (von Definition kann ja oft keine Rede sein).
Es gab diverse Definitionen, die nach meiner Ansicht auch als Definition durchgehen würden. Ich finde es ein wenig selbstüberschätzt diese einfach mit einem wisch abzustempeln...
minhen schrieb:
Wenn in diesem Riesen-Thread eine Sache klar geworden ist, dann die, dass das OOP-Verständnis wohl teilweise Religion ist, auf jeden Fall keine der Seiten von ihrem Standpunkt abweicht und jede darüberhinaus der Gegenseite die Existenzberechtigung abspricht.
...was sich aber wunderbar hierzu ergänzt. Wobei ich eher denke, dass der Thread eher durch gewisse Leute in diese Situation gefahren wurde. Ich habe sicher kein Problem an meiner Definition von OOP rütteln oder kritisieren zu lassen. Aber hier sind viele Definitionen einfach untergegangen, weil man dummerweise versucht hat, an der Definition zu rütteln, die ein eher religiöser OOP-Dogmatist vertreten hat. Das ist vermutlich einfach das Problem an den ganzen Diskussionen, die gehen einfach unter an den Leuten, mit denen es sich nicht lohnt zu diskutieren. Sich wie eine Wand zu verhalten ist ja durchaus Provokation.
minhen schrieb:
rüdiger schrieb:
minhen schrieb:
Shade Of Mine schrieb:
Aber ich kann nicht oft genug wiederholen: Es gibt massig Sprachen ohne virtuelle Funktionen. zB JavaScript.
"Ja", aber mit Laufzeit-Polymorphie. [...]
Warum muss es denn ausschließlich "Laufzeit-Polymorphie" sein? (was zB der Stroustrup gar nicht sagt, falls du mal wieder irgend was zitieren und entsprechend deiner Meinung auslegen willst)
Bereits mehrfach zitiert und vor vielen Seiten auch indirekt verlinkt. Diesmal zitiere ich es jedoch auch mal mit Kontext. Denn offensichtlich hat sich niemand hier - inklusive dir - die "Mühe" gemacht, es sich mal näher anzusehen:
Aus deiner Antwort werde ich nicht schlau. Schön, der Herr Stroustrup hat eine Definition die Laufzeit-Polymorphie enthält. Das hast du schon vor einigen Seiten zitiert. Wenn dass die Antwort auf meine Frage seien soll, dann muss ich wohl einsehen, dass du einfach willenlos dem Herrn Stroustrup folgst (wäre deine Einstellung nicht willenlos, könntest du sicher eine Antwort liefern, außer die Definition zu zitieren). Meinetwegen mach das! Aber dann hat auch eine Diskussion mit dir keinen Sinn, außer wir wollen weitere 40 Seiten gerede gegen die Wand, nur diesmal wärst du die Wand und nicht Xin.
-
minhen schrieb:
Bjarne Stroustrup schrieb:
A language or tech-
nique is object-oriented if and only if it directly sup-
ports:
[1] Abstraction – providing some form of classes
and objects.
[2] Inheritance – providing the ability to build
new abstractions out of existing ones.
[3] Run-time polymorphism – providing some
form of run-time binding.
This definition includes all major languages com-
monly referred to as object-oriented: Ada95, Beta,
C++, CLOS, Eiffel, Simula, Smalltalk, and many
other languages fit this definition. Classical pro-
gramming languages without classes, such as C, For-
tran4, and Pascal, are excluded. Languages that lack
direct support for inheritance or run-time binding,
such as Ada88 and ML are also excluded.
ML is a good example of something that is good
but not object-oriented.
(...)Schön, er geht zunächst mal nur auf Sprachen ein, die OO unterstützen oder nicht. Über die Tehniken redet er dann komischerweise nicht mehr. Beides kann man aber zusammen abhandeln: Aus seinen Sätzen folgt, daß etwas _nicht_ OO ist, wenn es 1, 2 oder 3 _nicht_unterstützt_, also ausschließt. Das tut "unsere schwammige" Definition aber auch gar nicht! Wer will, mag 1, 2 und 3 benutzen. Es ist lediglich nicht notwendig, es auch zu benutzen.
Davon abgesehen: Er ergibt wenig Sinn, darüber zu philosophieren, daß logische Schlüsse unabhängig von Anzahl oder Popularität ihrer "Anhänger" sind, dann aber auf einmal mit "Stroustrup hat gesagt:" anzukommen.
-
DEvent schrieb:
Shade Of Mine schrieb:
Ich sehe da das Problem nicht. Warum ist es falsch zu sagen "alles was sich wie eine Energiequelle verhält, ist eine Energiequelle". Warum soll das falsch sein?
Kann sein das es manchmal nicht wichtig ist. Ein Vogel kann fliegen, ist er damit ein Flugzeug?
Klassisches Beispiel fuer LSP: Ein Quadrat ist ein Rechteck.
-
DEvent schrieb:
Shade Of Mine schrieb:
Ich sehe da das Problem nicht. Warum ist es falsch zu sagen "alles was sich wie eine Energiequelle verhält, ist eine Energiequelle". Warum soll das falsch sein?
Kann sein das es manchmal nicht wichtig ist. Ein Vogel kann fliegen, ist er damit ein Flugzeug?
Ein Flugzeug wird auch nicht nur durch die Fähigkeit zu fliegen charakterisiert.
Apollon schrieb:
Klassisches Beispiel fuer LSP: Ein Quadrat ist ein Rechteck.
Oder auch nicht. Die Form eines Rechtecks wird durch zwei unabhängige Größen bestimmt, beim Quadrat ist es nur eine. Es kommt sehr auf den Anwendungsfall an, ob man Rechteck als das allgemeinere Konzept betrachten kann.
-
Xin schrieb:
minhen schrieb:
Xin hat seine Definition von OOP, Stroustrup eine ähnliche und ich die selbe wie Stroustrup.
Ähnlich? Ich dachte bis eben, ich stimme mit Stroustrup überein!? Habe ich etwas übersehen, wo ich nicht mit Stroustrup übereinstimme?
Kommt auf die Interpretation von "Objekttyp" an. Und da ich da deine nicht exakt kenne, treffe ich eben die schwächere statt der stärkeren Aussage. Das ist alles
rüdiger schrieb:
Ist das wirklich nötig?
Diese Frage kannst du gerne "Shade of Mine" stellen. Falls es dir nicht aufgefallen ist, ich habe zu ihm im Grunde dasselbe gesagt, was er zu mir gesagt hat. Nur habe ich meine Aussagen auch begründet. Nebenbei kannst du auch gerne gleich erklären, weshalb "A" bei nicht-minhen in Ordnung ist, während "A weil B" von minhen verwerflich ist. Ist schließlich nicht das erste Mal, dass - ich denke - du dieses Spielchen spielst.
minhen schrieb:
Der große Rest hier wiederum hat sein eigenes teils dubioses Verständnis von OOP (von Definition kann ja oft keine Rede sein).
Es gab diverse Definitionen, die nach meiner Ansicht auch als Definition durchgehen würden. Ich finde es ein wenig selbstüberschätzt diese einfach mit einem wisch abzustempeln...
Ich schreibe sicher nicht zufällig und aus Spaß an der Freude "große Rest" und "oft keine Rede". Ich denke mir bei meinen Beiträgen und Formulierungen durchaus etwas ...
Aus deiner Antwort werde ich nicht schlau. Schön, der Herr Stroustrup hat eine Definition die Laufzeit-Polymorphie enthält. Das hast du schon vor einigen Seiten zitiert. Wenn dass die Antwort auf meine Frage seien soll, dann muss ich wohl einsehen, dass du einfach willenlos dem Herrn Stroustrup folgst (wäre deine Einstellung nicht willenlos, könntest du sicher eine Antwort liefern, außer die Definition zu zitieren). Meinetwegen mach das! Aber dann hat auch eine Diskussion mit dir keinen Sinn, außer wir wollen weitere 40 Seiten gerede gegen die Wand, nur diesmal wärst du die Wand und nicht Xin.
Wir haben schon festgestellt, dass du bereits wichtige Dinge hier "übersehen" hast - und dass dich das nicht im geringsten davon abgehalten hat oder abhält große Töne zu spucken. Wie wäre es wenn du bevor du große Töne spuckst, auch mal nachsiehst ob selbige überhaupt gerechtfertigt sind?
Wie du dich hier verhältst ist ziemlich ignorant und teils sogar arrogant - aber vor allem ist es nervig. Wenn du willst, dass man mit der vernünftig diskutiert, dann verhalte dich entsprechend. Dazu gehört nicht einfach Dinge zu "vergessen", die vor ein paar Seiten gesagt wurden, dazu gehört Formulierungen zu beachten und nicht einfach in deinem Kopf zurechtzubiegen, dazu gehört große Töne am besten gar nicht, und wenn, sie nur dann zu spucken, wenn man sich versichert hat, dass es gerechtfertigt ist.
Wie man in den Wald ruft, so schallt es zurück. Das ist auch bei meinen Antworten auf Beiträge so.scrub_ schrieb:
Davon abgesehen: Er ergibt wenig Sinn, darüber zu philosophieren, daß logische Schlüsse unabhängig von Anzahl oder Popularität ihrer "Anhänger" sind, dann aber auf einmal mit "Stroustrup hat gesagt:" anzukommen.
Absolut richtig. Der einzige Haken an der Sache ist, dass niemand gesagt hat, dass Stroustrup oberstes Gesetz sei. Dennoch dreht sich in meinem letzten Beitrag viel um Stroustrup. Wenn du das für widersprüchlich hältst, dann schau dir mal an was rüdiger in dem Beitrag schreibt auf den sich meiner bezog.
-
camper schrieb:
DEvent schrieb:
Shade Of Mine schrieb:
Ich sehe da das Problem nicht. Warum ist es falsch zu sagen "alles was sich wie eine Energiequelle verhält, ist eine Energiequelle". Warum soll das falsch sein?
Kann sein das es manchmal nicht wichtig ist. Ein Vogel kann fliegen, ist er damit ein Flugzeug?
Ein Flugzeug wird auch nicht nur durch die Fähigkeit zu fliegen charakterisiert.
Apollon schrieb:
Klassisches Beispiel fuer LSP: Ein Quadrat ist ein Rechteck.
Oder auch nicht. Die Form eines Rechtecks wird durch zwei unabhängige Größen bestimmt, beim Quadrat ist es nur eine. Es kommt sehr auf den Anwendungsfall an, ob man Rechteck als das allgemeinere Konzept betrachten kann.
Ich behaupte: es kommt _immer_ auf den Anwendungsfall an und so kann es passieren, dass ein Vogel in der Tat ein Flugzeug ist (sich wie einer verhaelt). Man abstrahiere nur richtig und schon passt es. Selektive Ignoranz halt eben.
-
minhen schrieb:
rüdiger schrieb:
Ist das wirklich nötig?
Diese Frage kannst du gerne "Shade of Mine" stellen. Falls es dir nicht aufgefallen ist, ich habe zu ihm im Grunde dasselbe gesagt, was er zu mir gesagt hat. Nur habe ich meine Aussagen auch begründet. Nebenbei kannst du auch gerne gleich erklären, weshalb "A" bei nicht-minhen in Ordnung ist, während "A weil B" von minhen verwerflich ist. Ist schließlich nicht das erste Mal, dass - ich denke - du dieses Spielchen spielst.
Gerade durch die Reaktion kann man sich auszeichnen. Shades Kommentar war natürlich unnötig und eine vernünftige Reaktion von dir durchaus angebracht.
Ich stelle dir auch sicher nicht nach, entgegen deiner Befürchtung.
Aus deiner Antwort werde ich nicht schlau. Schön, der Herr Stroustrup hat eine Definition die Laufzeit-Polymorphie enthält. Das hast du schon vor einigen Seiten zitiert. Wenn dass die Antwort auf meine Frage seien soll, dann muss ich wohl einsehen, dass du einfach willenlos dem Herrn Stroustrup folgst (wäre deine Einstellung nicht willenlos, könntest du sicher eine Antwort liefern, außer die Definition zu zitieren). Meinetwegen mach das! Aber dann hat auch eine Diskussion mit dir keinen Sinn, außer wir wollen weitere 40 Seiten gerede gegen die Wand, nur diesmal wärst du die Wand und nicht Xin.
Wir haben schon festgestellt, dass du bereits wichtige Dinge hier "übersehen" hast - und dass dich das nicht im geringsten davon abgehalten hat oder abhält große Töne zu spucken. Wie wäre es wenn du bevor du große Töne spuckst, auch mal nachsiehst ob selbige überhaupt gerechtfertigt sind?
Ich will mich jetzt gar nicht auf die Ebene begeben, auf der wir uns hier gegenseitig Arroganz, schlechten Diskussionsstil, Kindlichkeit oder ähnliches, vorwerfen.
Ich finde es eben nur unverständlich, dass du auf eine Frage einfach deine Definition hinklatschst. Die kenne ich bereits. Mir ging es um die Motivation dahinter. Das war übrigens das zweite mal in diesem Thread.
<edit>Aussage korrigiert</edit>
-
minhen schrieb:
Xin schrieb:
minhen schrieb:
Xin hat seine Definition von OOP, Stroustrup eine ähnliche und ich die selbe wie Stroustrup.
Ähnlich? Ich dachte bis eben, ich stimme mit Stroustrup überein!? Habe ich etwas übersehen, wo ich nicht mit Stroustrup übereinstimme?
Kommt auf die Interpretation von "Objekttyp" an. Und da ich da deine nicht exakt kenne, treffe ich eben die schwächere statt der stärkeren Aussage. Das ist alles
Klingt sinnvoll.
Meine Definition von Objekt ist alles außer void.
Meine Definition von Objekttyp ist der Datentyp des Objektes.int a;
ist ein Objekt, der Objekttyp ist int.
Tellerrand schrieb:
Mal etwas Anregung für Xin
- Wieso sollte eine Klasse kein Objekt sein?
Und für den Tellerrand, der unfähig war diese bereits mehrfach beschriebene, hoch komplexe Definition von Objekt auf Anhieb zu verstehen, hier noch etwas zusätzliche Anregung.
class ClassOfA a;
a ist ein Objekt (weil nicht void), der Objekttyp ist ClassOfA.
Apollon schrieb:
camper schrieb:
DEvent schrieb:
Shade Of Mine schrieb:
Ich sehe da das Problem nicht. Warum ist es falsch zu sagen "alles was sich wie eine Energiequelle verhält, ist eine Energiequelle". Warum soll das falsch sein?
Kann sein das es manchmal nicht wichtig ist. Ein Vogel kann fliegen, ist er damit ein Flugzeug?
Ein Flugzeug wird auch nicht nur durch die Fähigkeit zu fliegen charakterisiert.
Apollon schrieb:
Klassisches Beispiel fuer LSP: Ein Quadrat ist ein Rechteck.
Oder auch nicht. Die Form eines Rechtecks wird durch zwei unabhängige Größen bestimmt, beim Quadrat ist es nur eine. Es kommt sehr auf den Anwendungsfall an, ob man Rechteck als das allgemeinere Konzept betrachten kann.
Ich behaupte: es kommt _immer_ auf den Anwendungsfall an und so kann es passieren, dass ein Vogel in der Tat ein Flugzeug ist (sich wie einer verhaelt). Man abstrahiere nur richtig und schon passt es. Selektive Ignoranz halt eben.
Man lese nicht nur, man denke auch. Diese Kleinkarriertheit nervt mich schon den ganzen Thread. Statt sich zu überlegen, worum es geht, lieber nochmal einen nachlegen.
Herzen können schlagen, Menschen auch.
Trotzdem besteht zwischen dem Objekt Herz und dem Objekt Mensch keine Beziehung, bei der schlagen() durch eine gemeinsame, überschreibbare Methode beschrieben werden kann.Obwohl beides schlägt, besteht hier ein guter Grund, kein Interface und damit auch keine Beziehung herzustellen, also damit auch OOP auszuschließen.
Objekt::schlagen() ist einmal lebenserhaltend, konstruktiv und notwendig und einmal lebensgefährlich, destruktiv und überflüssig. Semantisch haben beide schlagen() keine sinnvolle Gemeinsamkeiten.
Das ist sogar ein guter Grund hier keine Templates zu verwenden, obwohl Templates nicht interessiert, ob zwischen "Herz::schlagen()" und "Mensch::schlagen()" eine semantische Beziehung besteht oder nicht.Selbiges gilt für bool Person::istArm() oder Körperteil::istArm() uvm...
Bei derartigen Dingen ein Interface zu konstruieren, damit man Objekte, die die Schnittstelle "istArm()" implementieren per OOP ansprechen kann, lässt sich nur als Designfehler beschreiben. Somit geht "Man abstrahiere nur richtig und schon passt es" und "Selektive Ignoranz" ungeöffnet an den Absender zurück.minhen, wieso schreibst Du hier eigentlich noch?! Du hast mir und jedem denkenden Menschen in diesem Thread schon bewiesen, dass Du qualifizierter bist als der Kindergarten hier, der schwammige, sich widersprechenden Definition nutzt, um dann von "selektiver Ignoranz" oder Rumtrollen zu sprechen.
rüdiger schrieb:
Ich will mich gar nicht auf die Ebene begeben, auf der wir uns hier gegenseitig Arroganz, schlechten Diskussionsstil, Kindlichkeit oder ähnliches, vorwerfen.
Ich machte mir vorgestern einen Spaß daraus, mal zu gucken, was alles hinter meinem Rücken geschrieben wird, wenn ich den Chat verlasse und war mit einem zweiten Nick eingeloggt. Du hast Dich als einer der wenigen mit den Worten "Mann ist der dumm" nicht auf diese Ebene begeben.
-
minhen, wieso schreibst Du hier eigentlich noch?! Du hast mir und jedem denkenden Menschen in diesem Thread schon bewiesen, dass Du qualifizierter bist als der Kindergarten hier, der schwammige, sich widersprechenden Definition nutzt, um dann von "selektiver Ignoranz" oder Rumtrollen zu sprechen.
<°)))><|
-
Xin schrieb:
rüdiger schrieb:
Ich will mich gar nicht auf die Ebene begeben, auf der wir uns hier gegenseitig Arroganz, schlechten Diskussionsstil, Kindlichkeit oder ähnliches, vorwerfen.
Ich machte mir vorgestern einen Spaß daraus, mal zu gucken, was alles hinter meinem Rücken geschrieben wird, wenn ich den Chat verlasse und war mit einem zweiten Nick eingeloggt. Du hast Dich als einer der wenigen mit den Worten "Mann ist der dumm" nicht auf diese Ebene begeben.
Ich hab dir in dem Thread sogar vorher schon ganz offen Arroganz vorgeworfen.
-
rüdiger schrieb:
Xin schrieb:
rüdiger schrieb:
Ich will mich gar nicht auf die Ebene begeben, auf der wir uns hier gegenseitig Arroganz, schlechten Diskussionsstil, Kindlichkeit oder ähnliches, vorwerfen.
Ich machte mir vorgestern einen Spaß daraus, mal zu gucken, was alles hinter meinem Rücken geschrieben wird, wenn ich den Chat verlasse und war mit einem zweiten Nick eingeloggt. Du hast Dich als einer der wenigen mit den Worten "Mann ist der dumm" nicht auf diese Ebene begeben.
Ich hab dir in dem Thread sogar vorher schon ganz offen Arroganz vorgeworfen.
DAS sind die Comments, warum ich den Thread noch weiterverfolge.
Super, Ingo!
-
Xin, wie wärs, wenn du endlich aufhörst, gültige Argumente einfach zu ignorieren? CLOS ist nicht von der Hand zu weisen, aber du ignorierst es knallhart, und nennst dann alle unfähig, obwohl viele hier deutlich mehr draufhaben dürften als du. Also. Erleuchte uns mit deinen Antworten zu den vielen hier geposteten Lisp/CLOS/Smalltalk/Objective C-Argumenten. Dann red weiter.
-
@Xin: Du bewegst dich auf einer anderen - um nicht zu sagen falschen - Abstraktionsebene. Mach doch mal einen Perspektivenwechsel.
-
Shade Of Mine schrieb:
Eine Beziehung muss nicht direkt im Soucrcode vorhanden sein. Denn SourceCode ist nur eine Ebene - (...).
Weiters ist der Source Code ja auch nicht die oberste Ebene: es gibt diverse Planungstools, UML oder Gedankengänge die Ebenen höher als der Source Code liegen.Wo genau muss nun die Beziehung direkt im Code stehen - wo setzt man die gültige Ebene an?
Unsere Behauptung ist nun: diese Beziehung muss im Geiste da sein und das Programm muss nach dieser Beziehung modelliert werden.
Ob diese Beziehung nun als Interface im Code vorkommt oder nicht, ist nach unserer Definition implementationsabhängig - ändert aber nichts an dem Gedanken hinter dem Code.Was bedeutet dann aber das "P" in OOP ? Planung ?
-
Xin schrieb:
Tellerrand schrieb:
Mal etwas Anregung für Xin
- Wieso sollte eine Klasse kein Objekt sein?
Und für den Tellerrand, der unfähig war diese bereits mehrfach beschriebene, hoch komplexe Definition von Objekt auf Anhieb zu verstehen,
tja so ein pech aber auch, dass in smalltalk auch klassen objekte sind aber das ist für dich ja offensichtlich weder nach dem 1000ten mal dass dir gesagt wurde dich mit mehr sprachen als java und c++ zu beschäftigen, geschweige denn auf anhieb, zu verstehen
minhen, wieso schreibst Du hier eigentlich noch?! Du hast mir und jedem denkenden Menschen in diesem Thread schon bewiesen, dass Du qualifizierter bist als der Kindergarten hier, der schwammige, sich widersprechenden Definition nutzt, um dann von "selektiver Ignoranz" oder Rumtrollen zu sprechen.
wieso, weil er eine ähnliche meinung als du hast? bei solchen texten brauchst du nich über beleidigungen von dumm und arrogant nicht zu wundern
-
merker schrieb:
Shade Of Mine schrieb:
Eine Beziehung muss nicht direkt im Soucrcode vorhanden sein. Denn SourceCode ist nur eine Ebene - (...).
Weiters ist der Source Code ja auch nicht die oberste Ebene: es gibt diverse Planungstools, UML oder Gedankengänge die Ebenen höher als der Source Code liegen.Wo genau muss nun die Beziehung direkt im Code stehen - wo setzt man die gültige Ebene an?
Unsere Behauptung ist nun: diese Beziehung muss im Geiste da sein und das Programm muss nach dieser Beziehung modelliert werden.
Ob diese Beziehung nun als Interface im Code vorkommt oder nicht, ist nach unserer Definition implementationsabhängig - ändert aber nichts an dem Gedanken hinter dem Code.Was bedeutet dann aber das "P" in OOP ? Planung ?
Wie waers mit: Ja? Weil der Sourcecode im Grunde der Bauplan eines Programms ist.
-
dv schrieb:
Xin, wie wärs, wenn du endlich aufhörst, gültige Argumente einfach zu ignorieren? CLOS ist nicht von der Hand zu weisen, aber du ignorierst es knallhart, und nennst dann alle unfähig, obwohl viele hier deutlich mehr draufhaben dürften als du. Also. Erleuchte uns mit deinen Antworten zu den vielen hier geposteten Lisp/CLOS/Smalltalk/Objective C-Argumenten. Dann red weiter.
Die Sprachen wurden genannt. Die Nennung von Sprachen steht in keinem Widerspruch zu Stroustrups Definition.
Zu dem Thema wurde von mir und von minhen schon entsprechendes zu gesagt.Ich habe mich hier häufig genug wiederholt, weder übernehme ich für Dich oder irgendwen das Lesen, um Dir Zitate rauszusuchen, noch sehe ich mich oder minhen in irgendeiner Pflicht, euch weiterhin Dinge vorzubeten, die ihr in Marcus OOP-Buch findet, in den Schriften von Stroustrup oder einfach durch Verwendung eures hoffentlich gegebenen gesunden Menschenverstandes.
Ich amüsiere mich hier lediglich noch über die Leute, die ignorieren, dass bereits alles wichtige gesagt wurde und sich im Recht fühlen, weil sie Dinge vorbringen, die innerhalb der letzten 40 Seiten bereits in der Regel mehrfach geklärt wurden und gleichzeitig diejenigen, die sich an Logik halten und an Definitionen, die Leute aufgestellt haben, die sich ernsthaft mit dem Thema beschäftigt haben, als arrogant und ignorant zu bezeichnen.
Ich kann da mich nur noch drüber amüsieren. Mehr fällt mir dazu nicht mehr ein.Apollon schrieb:
@Xin: Du bewegst dich auf einer anderen - um nicht zu sagen falschen - Abstraktionsebene. Mach doch mal einen Perspektivenwechsel.
Wir bewegen uns alle auf unseren eigenen Abstraktionsebenen. Manche sehen von Ihrer Ebene die Dinge klar und für die anderen ist die Sicht halt etwas schwammig. Jeder, wie er es mag.
Ich plane keinen Perspektivenwechsel, ich hab' hier gute Sicht und ich sitze im ersten Rang und habe Platz die Beine hochzulegen. Schließlich weigert sich hier die Masse trotz Einladung und ausführlicher Wegbeschreibung, mal drei Schritte weiterzudenken und hier Platz zu nehmen. Einfach mal unbefangen gucken, wie die Sicht hier ist.
Abgesehen davon, dass ich mich damit von euch ausgrenze und mir diverse Beleidigungen anhören darf, sehe ich keinen Nachteil auf fachliche Fragen jedem, der zuhören möchte, klare Antworten geben zu können.Niemand hat sich auf das Konzept eingelassen, dass in C++ durch virtual ausgedrückt wird, dass in anderen Sprachen ebenso, aber natürlich mit anderer Syntax verwandt, wird. Das Konzept, das OOP genannt wird. Diesen kleinen Schritt der Abstraktion bringt hier kaum jemand fertig, aber jeder freut sich, dass man es geschafft hat, jedem Argument entgegen treten zu können - und das meine ich wirklich in der Form von treten - und sich eine Unmenge an Punkten auszudenken, die nichts mit dem Thema zu tun haben.
Ob das arrogant klingt oder nicht - das hier ist ein Kindergarten.In diesem Thread war kaum jemand, der zuhören mochte, also sehe ich keinen Bedarf mehr, hier noch irgendwelche Fragen zu beantworten oder etwas zu erklären. Wer was lernen möchte, sollte Marc++us Buch lesen, da steht genau das drin, was ich hier zwischen den ganzen Angriffen erklärte. Vielleicht hilft es dem Verständnis, wenn man nicht so schnell auf "antworten" klicken kann, sondern auch mal eine Seite weiter lesen muss.
Alle anderen dürfen gerne noch ein wenig gegen mich sein, wenn's Spaß macht. Ich habe kein Problem von einem fachlichen Kindergarten abgegrenzt zu werden.