Methoden mit bool-Parametern und "Lesbarkeit" im Kontext



  • Tellerrand schrieb:

    Du willst durch static Vererbung die Methoden und Attribute erben, aber die implizite Typumwandlung verbieten? Also eine zweite Vererbungsmöglichkeit ganz ohne Typen?

    Da würde ich mich eher Code erzeugender Programmiermodelle bedienen, da sind wir imho im Bereich der Metaprogrammierung.
    Sowas würde ich nicht gerne in einem Klassenmodell sehen, sondern davon abgekapselt.

    Es hat schon seinen Grund warum es nicht unterstützt wird.
    Der einzige Grund warum ich darauf gekommen bin ist, dass es irgendwie genau das ist was Xins Ansatz sinnvoll erscheinen lassen würde. Es war irgendwann mal ein proposal für den C++ Standard - wurde aber abgelehnt.

    Es hat von der fragwürdigen Sinnhaftigkeit auch diverse technische Probleme die es zu bedenken gibt. Ich wollte es lediglich aufzeigen und nicht darüber werten ob es sinnvoll ist oder nicht.

    Fakt ist: C++ bietet dieses Konzept nicht an, deshalb ist Xins Versuch es zu emulieren nicht zielführend.

    Xin schrieb:

    Aber Dein Codebeispiel hakt an einer Stelle: Der RangedCheckedVector ist kein Vector, ergo musst Du eine Basisklasse haben oder zwei foo()-Funktionen.

    Das ist der Sinn der Sache. foo muss ein Template sein. Statische Polymorphie - aber das lassen wir jetzt lieber.

    Die optimale Lösung hier wäre OOP zu verwenden, also die get Funktion virtuell zu machen und öffentlich abzuleiten.

    Das ist aus einer C++ Sicht eine schlechte Idee - zumindest meistens. Die ganze Idee hinter der statischen Vererbung ist ja, genau das zu umgehen.

    AOP ist ein Ansatz, der noch recht jung ist. OOP ist seit sagen wir 10 Jahren Massentauglich, C++ gibt's seit 20 Jahren und Simula noch viel länger. Bis AOP in C++ existiert und massentauglich wird, vergeht noch das eine oder andere Jahrzehnt.

    statische Vererbung hat mit AOP erstmal recht wenig zu tun.

    Doch, ziemlich weit vorne, als ich sagte, dass ich die WindowFlags aus einem Genesys-Konzept übernommen habe und natürlich nicht perfekt auf C++ umsetzen konnte. Dort beschrieb ich es nicht als "static Vererbung", sondern aus Mischung von privater Vererbung (keine ist-ein-Beziehung) und öffentlicher (die Elemente werden in den Namensraum der abgeleiteten Klasse übernommen).

    Du hast aber die ganze Zeit versucht es in C++ zu rechtfertigen und das ist das Problem. Wie die Lösung in einer von dir erfundenen Sprache aussieht, kann keiner bewerten. Was wir können ist den C++ Ansatz zu berwerten und der ist total falsch.

    An den expliziten CTors kommt man leider immernoch nicht vorbei. ^^

    Nimm den Meter/Meter Ansatz von Mr.N oder meinen asInt Ansatz (der dem von Mr.N unterlegen ist) und du brauchst diese expliziten CTors nicht mehr. Sie mögen öfters Sinn machen - da widerspricht sicher Niemand - aber worum es geht ist, dass das vorhandensein eines non-explizit CTors den Code nicht kaputt macht wie es bei dir der Fall ist. Viele Leute verwenden zuviele non-explicit CTors, das stimmt, aber in einer Menge Situationen sind non-explicit CTors einfach sinnvoll.



  • Xin schrieb:

    CStoll schrieb:

    Xin schrieb:

    Den Ansatz Meter/Meter hat mir noch keiner gezeigt. Davon wurde hier gesprochen, aber umgesetzt hat ihn noch niemand. Dazu vielleicht nochmal mein Beispiel: Zwei Kräfte zeigen in orthogonale Richtungen. Hier kürzt sich kg*m/s² mit kg*m/s². Ist das jetzt die gleiche Einheit wie Meter/Meter? Und wenn ja wieso kürzt sich kg/s² raus, aber Meter/Meter bliebt?

    Meter/Meter kürzt sich genauso heraus wie alle übrigen Einheiten - wenn zwei gleichartige Größen dividiert werden, bleibt in jedem Fall ein einheitenloser Wert übrig.
    (btw, was die Orthogonalität damit zu tun hat, müsstest du mir nochmal erklären)

    Meter/Meter ergibt einen Winkel, wenn die Teilkräfte/Teilstrecken rechtwinklig sind. Satz des Pythagoras, Gegenkathete ist rechtwinklig zur Ankathete. Sind die Größen abhängig hast Du eine Hypothenuse von 0, also kein Dreieck, keine Winkel.

    Dein Verständnis des Satz von Pythagoras scheint nicht über Klasse 6 hinauszugehen. Wenn man irgendwelche Strecken dividiert, kürzen sich die Einheiten IMMER, egal ob rechtwinklig stehend oder nicht. Es kommt dabei NIE ein Winkel heraus, höchstens ein (Co-)Tangens.
    Strecken wild miteinander zu dividieren, über deren Beziehung du nichts weißt, ist aber mathematisch völliger Blödsinn.
    Entweder du weißt, dass die Strecken orthogonal sind, dann weißt du, dass ein Tangens herauskommt (KEIN Winkel).
    Oder du weißt es nicht, dann musst du Vektoren und Vektoroperationen verweden, wenn du eine mathematische Beziehung ausdrücken willst.
    Das simple Dividieren von einheitengleichen Größen ist immer einheitenlos, es drückt immer ein Verhältnis aus. In einem bestimmten Fall ist dieses Verhältnis halt der Tangens.



  • Xin schrieb:

    Meter/Meter ergibt einen Winkel, wenn die Teilkräfte/Teilstrecken rechtwinklig sind. Satz des Pythagoras, Gegenkathete ist rechtwinklig zur Ankathete. Sind die Größen abhängig hast Du eine Hypothenuse von 0, also kein Dreieck, keine Winkel.

    Meter ist kein Vektor!
    Meter ist eine reine Längenangabe, keine Richtung, kein Winkel.

    Wenn du mit Richtungen, Winkeln oder ähnlichem hantieren willst, so nutze doch bitte auch deren Einheiten, deren Typen.



  • Shade Of Mine schrieb:

    Nimm den Meter/Meter Ansatz von Mr.N oder meinen asInt Ansatz (der dem von Mr.N unterlegen ist) und du brauchst diese expliziten CTors nicht mehr. Sie mögen öfters Sinn machen - da widerspricht sicher Niemand - aber worum es geht ist, dass das vorhandensein eines non-explizit CTors den Code nicht kaputt macht wie es bei dir der Fall ist. Viele Leute verwenden zuviele non-explicit CTors, das stimmt, aber in einer Menge Situationen sind non-explicit CTors einfach sinnvoll.

    Also einen int-Konstruktor sollte man IMHO nicht anbieten. Im Grunde sollte außer dem Copy-Constructor (und evtl. Konversionskonstruktoren aus kompatiblen Einheiten) gar kein öffentlicher Konstruktor nötig sein.



  • Xin schrieb:

    Und wo mir grade (~40%) durch den Kopf geht, dass der Thread beleidigungstechnisch doch ziemlich langweilig ist, kommen wir endlich zum ersten vollkommen sinnlosen Posting, das eine Wertung enthält:

    scrub_ schrieb:

    Xin schrieb:

    Ich finde den Kommentar "Kann Nüsse enthalten, bei Nussallergie nicht konsumieren" auf einer Packung Erdnüsse für lächerlich.

    Wieder mal glaubst Du Dich im Besitz der absoluten Wahrheit. Anstatt einfach mal die Möglichkeit zu überdenken, daß Nüsse im Sinne dieses Hinweises etwas anderes sind als das, was Du Dir unter Nüssen vorstellst.

    Zu Deinem restlichen Unfug braucht man schon nix mehr zu sagen. Fenster sind keine Flags, sondern haben (vielleicht) welche.
    Ansonsten erklär einfach mal, was Deiner Meinung nach ein Flag ist. Ich bin an Deiner Meinung interessiert, jedoch nicht an Ablenkungsmanövern.

    Das ist das erste Posting, dass mir auffällt, dass wertend und im Ton vollkommen daneben schlägt ohne dass der Absender wie ulfbuff offensichtlich die "Ich bin ein Troll"-Auszeichnung trägt.
    Dass Erdnüsse eigentlich Bohnen und keine Nüsse sind, wußte er zu dem Zeitpunkt noch nicht. Es spielt auch keine Rolle, denn die Intention des Satzes ist wohl eindeutig und wäre genauso wenn ich auf Paprikas einen Hinweis drucke "Kann Paprika enthalten", damit Paprika-Allergiker nicht versehentlich Paprika kaufen.

    Ähm LOL? Ich wußte es die ganze Zeit, nur Du hattest offensichtlich keine Ahnung, sonst hättest Du Dir als Beispiel für eine unsinnige Warnung nicht gerade ein Beispiel rausgesucht, das eben _nicht_ sinnlos ist.
    Schon interessant, wie Du hier die Wahrheit verdrehst.

    Xin schrieb:

    Die optimale Lösung hier wäre OOP zu verwenden, also die get Funktion virtuell zu machen und öffentlich abzuleiten.

    🙄

    Hat Dein Physik-LK mit gepulster digitaler Strahlung experimentiert? Oder woher kommt Deine revolutionäre Ansicht über Winkel und Satz des Pytagoras?



  • Zu Physik LK kann ich auch noch was sagen. Bei uns an der Schule wird aus lehrermangel kein physik unterrichtet! Jetzt dann das 3. Jahr!
    Und dann wundern sich die leute, dass es soviele Pisa versager gibt...



  • Xin schrieb:

    CStoll schrieb:

    Xin schrieb:

    Shade Of Mine schrieb:

    Worum es dabei geht ist, eine Vererbung einzuführen die keine ist-ein Beziehung bedeutet. Wenn also Meter von Integer erbt, dann hat Meter alle Methoden von Integer aber ist eben kein Integer. Das würde sich darin Niederschlagen dass es keine Konvertierung von Meter zu Integer gibt (es sei denn man definiert sie sich explizit selber). Diese Vererbung wird also eher als ein "has-a" oder "is-implemented-in-terms-of" verstanden - auch wenn sie aussieht wie eine public Vererbung.

    Willkommen in Genesys.

    Das ist etwa das, wovon ich die WindowFlags abgeleitet habe.

    OK, das Problem hatten wir schon weiter vorne in diesem Thread - C++ ist nicht Genesys, und manche Sprachkonstrukte, die du in Genesys integriert hast, lassen sich nur ungenügend in C++ nachbilden. Du hast deine (afair) Typerweiterungen - und eine Länge als "Erweiterung" von int wäre durchaus sinnvoll - und du nimmst dir die C++ Vererbung und versuchst, das Konzept damit umzusetzen. Letzteres scheitert an der unterschiedlichen Semantik.

    Xin schrieb:

    Shade Of Mine schrieb:

    Da C++ dies aber nicht bietet - würde ich eben eine C++ Lösung nehmen die ebenfalls keine dieser genannten Nachteile hat. Zumal der Ansatz mit Meter/Meter einfach nur genial ist.

    Würde ich auch... und muss ich auch, weil C++ keine Ableitung von int erlaubt.
    Edit: Was eben nicht bedeutet, dass die theoretische Möglichkeit bestünde, es auch auf dem Ansatz zu machen, dessen theoretische Existenz ich hier verteidige.

    Nein, du hast hier die (theoretische) Möglichkeit thematisiert, mit C++ Mitteln von build-in's abzuleiten. Daß du dir ein neues Ableitungs-Konzept mit eigener Semantik wünschst, hast du nie erwähnt.

    !?!?
    Mir fehlen die Worte. Das sind die Punkte, wo ich etwas schreibe, wie "Liebelein" oder "<stirnklatsch>".
    Schau Dir an, was Du unterhalb von "Willkommen in Genesys" schreibst und dann direkt darunter dies.

    Also wenn du von vornherein geschrieben hättest, daß du nicht die Ableitung in C++ Semantik meinst, wäre die ganze Diskussion nie so ausgeartet.

    Xin schrieb:

    CStoll schrieb:

    Xin schrieb:

    Den Ansatz Meter/Meter hat mir noch keiner gezeigt. Davon wurde hier gesprochen, aber umgesetzt hat ihn noch niemand. Dazu vielleicht nochmal mein Beispiel: Zwei Kräfte zeigen in orthogonale Richtungen. Hier kürzt sich kg*m/s² mit kg*m/s². Ist das jetzt die gleiche Einheit wie Meter/Meter? Und wenn ja wieso kürzt sich kg/s² raus, aber Meter/Meter bliebt?

    Meter/Meter kürzt sich genauso heraus wie alle übrigen Einheiten - wenn zwei gleichartige Größen dividiert werden, bleibt in jedem Fall ein einheitenloser Wert übrig.
    (btw, was die Orthogonalität damit zu tun hat, müsstest du mir nochmal erklären)

    Meter/Meter ergibt einen Winkel, wenn die Teilkräfte/Teilstrecken rechtwinklig sind. Satz des Pythagoras, Gegenkathete ist rechtwinklig zur Ankathete. Sind die Größen abhängig hast Du eine Hypothenuse von 0, also kein Dreieck, keine Winkel.

    Meter/Meter ergibt keinen Winkel (außer eventuell in der Definition der Radiant), sondern ein (einheitenloses) Längenverhältnis. Die Winkelfunktionen sind lediglich definiert als das Verhältnis bestimmter Strecken im rechtwinkligen Dreieck (es gibt auch andere Definitionen, die nicht so geometrisch anschaulich sind).

    Xin schrieb:

    Ich schieße nicht auf jeden. Ich beschränke mich auf diejenigen, die es in meinen Augen verdient haben.

    Und wer hat es in deinen Augen verdient? Jeder, der irgendetwas gegen dein Konzept sagen will? (im Umfeld von Genesys mag das ja das Nonplusultra sein, aber in C++ ist es nur sehr schwer umsetzbar.

    (wobei, ich hab' auch in andere Richtungen die Erfahrung gemacht, daß Programmierer Konzepte nicht verstehen, die über ihre "Mutter"sprache hinausgehen - erklär mal einem Java'ner den Sinn von const-Correctness ;))



  • CStoll schrieb:

    (wobei, ich hab' auch in andere Richtungen die Erfahrung gemacht, daß Programmierer Konzepte nicht verstehen, die über ihre "Mutter"sprache hinausgehen - erklär mal einem Java'ner den Sinn von const-Correctness ;))

    Das stimmt allerdings... oder versuch mal nem C++-Programmierer zu erklären, warum man ein Konzept wie const-Correctness in Java nicht braucht.



  • CStoll schrieb:

    - erklär mal einem Java'ner den Sinn von const-Correctness

    dann musst du ihm aber auch erklären, warum c++ solche keywords wie 'mutable' hat 😃



  • Undertaker schrieb:

    CStoll schrieb:

    - erklär mal einem Java'ner den Sinn von const-Correctness

    dann musst du ihm aber auch erklären, warum c++ solche keywords wie 'mutable' hat 😃

    Einem normalen Menschen kann man den Sinn von mutable in 3 Zeilen klarmachen Oo



  • Letzte drei Beiträge bitte raussplitten.



  • Theston schrieb:

    Einem normalen Menschen kann man den Sinn von mutable in 3 Zeilen klarmachen Oo

    Das werden lange 3 Zeilen. Ohne die Konzepte binärer und logischer Konstanz müsste es einem normalen Menschen widersinnig erscheinen, ein konstantes Objekt zu verändern.



  • CStoll schrieb:

    Xin schrieb:

    CStoll schrieb:

    Xin schrieb:

    Shade Of Mine schrieb:

    Diese Vererbung wird also eher als ein "has-a" oder "is-implemented-in-terms-of" verstanden - auch wenn sie aussieht wie eine public Vererbung.

    Willkommen in Genesys.

    Das ist etwa das, wovon ich die WindowFlags abgeleitet habe.

    OK, das Problem hatten wir schon weiter vorne in diesem Thread - C++ ist nicht Genesys, und manche Sprachkonstrukte, die du in Genesys integriert hast, lassen sich nur ungenügend in C++ nachbilden. Du hast deine (afair) Typerweiterungen - und eine Länge als "Erweiterung" von int wäre durchaus sinnvoll - und du nimmst dir die C++ Vererbung und versuchst, das Konzept damit umzusetzen. Letzteres scheitert an der unterschiedlichen Semantik.

    Und an dem Punkt waren wir auf Seite 5 oder 6?

    CStoll schrieb:

    Xin schrieb:

    Shade Of Mine schrieb:

    Da C++ dies aber nicht bietet - würde ich eben eine C++ Lösung nehmen die ebenfalls keine dieser genannten Nachteile hat. Zumal der Ansatz mit Meter/Meter einfach nur genial ist.

    Würde ich auch... und muss ich auch, weil C++ keine Ableitung von int erlaubt.
    Edit: Was eben nicht bedeutet, dass die theoretische Möglichkeit bestünde, es auch auf dem Ansatz zu machen, dessen theoretische Existenz ich hier verteidige.

    Nein, du hast hier die (theoretische) Möglichkeit thematisiert, mit C++ Mitteln von build-in's abzuleiten. Daß du dir ein neues Ableitungs-Konzept mit eigener Semantik wünschst, hast du nie erwähnt.

    !?!?
    Mir fehlen die Worte. Das sind die Punkte, wo ich etwas schreibe, wie "Liebelein" oder "<stirnklatsch>".
    Schau Dir an, was Du unterhalb von "Willkommen in Genesys" schreibst und dann direkt darunter dies.

    Also wenn du von vornherein geschrieben hättest, daß du nicht die Ableitung in C++ Semantik meinst, wäre die ganze Diskussion nie so ausgeartet.

    Gedankenmodell...? Ableitung von Primitiven? Was ich schrieb mit der Mischung aus privater und öffentlicher Vererbung?

    CStoll schrieb:

    Xin schrieb:

    CStoll schrieb:

    Xin schrieb:

    Den Ansatz Meter/Meter hat mir noch keiner gezeigt. Davon wurde hier gesprochen, aber umgesetzt hat ihn noch niemand. Dazu vielleicht nochmal mein Beispiel: Zwei Kräfte zeigen in orthogonale Richtungen. Hier kürzt sich kg*m/s² mit kg*m/s². Ist das jetzt die gleiche Einheit wie Meter/Meter? Und wenn ja wieso kürzt sich kg/s² raus, aber Meter/Meter bliebt?

    Meter/Meter kürzt sich genauso heraus wie alle übrigen Einheiten - wenn zwei gleichartige Größen dividiert werden, bleibt in jedem Fall ein einheitenloser Wert übrig.
    (btw, was die Orthogonalität damit zu tun hat, müsstest du mir nochmal erklären)

    Meter/Meter ergibt einen Winkel, wenn die Teilkräfte/Teilstrecken rechtwinklig sind. Satz des Pythagoras, Gegenkathete ist rechtwinklig zur Ankathete. Sind die Größen abhängig hast Du eine Hypothenuse von 0, also kein Dreieck, keine Winkel.

    Meter/Meter ergibt keinen Winkel (außer eventuell in der Definition der Radiant),

    Und was genau ist der Radiant? Steigungsdreieck? Gibt's da nicht vielleicht doch eine direkte Beziehung zu Winkeln?

    CStoll schrieb:

    sondern ein (einheitenloses) Längenverhältnis. Die Winkelfunktionen sind lediglich definiert als das Verhältnis bestimmter Strecken im rechtwinkligen Dreieck (es gibt auch andere Definitionen, die nicht so geometrisch anschaulich sind).

    Klar, es gibt vieles. Aber wenn etwas anschauliches da ist, warum es nicht auch nutzen.

    CStoll schrieb:

    Xin schrieb:

    Ich schieße nicht auf jeden. Ich beschränke mich auf diejenigen, die es in meinen Augen verdient haben.

    Und wer hat es in deinen Augen verdient? Jeder, der irgendetwas gegen dein Konzept sagen will?

    Nicht jeder, der was gegen mein Konzept sagt - ich verstehe auch nicht, warum ich das immer wieder sagen muss - ich betonte schon oft genug, dass ich kein Problem habe, wenn jemand dagegen ist.
    Wenn Du eine Auswahl suchst, dann schau Dir mal die Postings zwischen diesem und meinem letzten Posting an. Da könnten einige dabei sein.

    CStoll schrieb:

    (wobei, ich hab' auch in andere Richtungen die Erfahrung gemacht, daß Programmierer Konzepte nicht verstehen, die über ihre "Mutter"sprache hinausgehen - erklär mal einem Java'ner den Sinn von const-Correctness ;))

    Schau Dir mal die "Diskussion" über mutable an, die Du hier gestartet hast... ich bewerte das nicht, dass kann vermutlich jeder, der mutable versteht. Du sagtest, dass Du die Bücher von Scott Meyer gelesen hast, ergo muss ich Dir dazu wohl auch nichts sagen. ^^



  • Xin schrieb:

    CStoll schrieb:

    sondern ein (einheitenloses) Längenverhältnis. Die Winkelfunktionen sind lediglich definiert als das Verhältnis bestimmter Strecken im rechtwinkligen Dreieck (es gibt auch andere Definitionen, die nicht so geometrisch anschaulich sind).

    Klar, es gibt vieles. Aber wenn etwas anschauliches da ist, warum es nicht auch nutzen.

    Geniales Beispiel für die typische Xin-Argumentation.
    Struktur:
    1. Xin labert irgend etwas
    2. X berichtigt Xin und führt aus
    3. Xin nutzt die Ausführung, um irgendwas neues zu labern, was überhaupt nicht zu (1) beiträgt, aber das Thema in seine Bahn umlenkt

    Lies doch bitte die 5 anderen Beiträge zu dem Stuss, den du redetest, und geh auf die ein, statt auf eine "Anmerkung" von CStoll, die überhaupt nix mit deiner Aussage zu tun hat. Meter/Meter bleibt immer ein einheitenloses Verhältnis, auch wenn man ein bestimmtes Verhältnis als eine Funktion definiert, bleibt es ein einheitenloses Verhältnis.

    Xin schrieb:

    Und was genau ist der Radiant? Steigungsdreieck? Gibt's da nicht vielleicht doch eine direkte Beziehung zu Winkeln?

    Nein, überhaupt nicht, er ist das Verhältnis von Bogenlänge zu Radius



  • Guten Abend, Mein Name ist Dr. Freud

    Nachdem mir wiederholt Anfragen auf eine professionelle Analyse der Xinschen Verhaltensweisen gestellt wurden, möchte ich nun darauf Reagieren, und eine entsprechende Analyse vorlegen:

    Xin's Verhalten basiert auf einem häufigen Versuch die Einflüsse des Über-Ichs zu minimieren, und hält sich somit nicht sehr oft an die Gebote dieses Forums, oder an die allgemein gültigen Programmierparadigmen.

    Außerdem zeigt er - womöglich durch eine defizitäre Entwicklung in der ödipalen Phase - einen gewissen Drang zur Dominanz über anderen Gesprächsteilnehmer. Hierbei wird er wahrscheinlich durch eine trieblich-induzierte Dominanz des Es zur dominanzerhaltenten Maßnamen gedrängt.

    Weiterhin hat er einen sehr starken Drang zur Verdeckung begangener Fehler, welche einerseits durch die o.g. Dominanz des Es bedingt sein kann, oder von einem starken Überlebenswillen koinzidiert sein kann, welcher sich wiederum auf eine Vernachlässigung in der oralen Phase stützen könnte.

    Des Weiteren sieht Xin - womöglich aufgrund einer Abkehr von seinen kindlichen Entwicklungsphasen - die Äußerungen der anderen Forumsteilnehmer(inkl. meiner Äußerung) als kindlich an, und ordnet so die gesamten Forumsteilnehmer, einem, wahrscheinlich nur in seiner Phantasie bestehendem, sog. "Forumskindergarten" zu, womit er wiederum eine Distanz zu seiner Kindheit aufbauen will.

    Zudem beleidigt Xin andauernd die Anwesenden Forumsteilnehmer, die er als seinem Vater sieht, und die er aufrund der vermutlichen (oben gennanten)Störung in der ödipalen Phase, als Bedrohung ansieht, die ihm seine Mutter(bildlich gesprochen, entspricht etwa der Programmierung) streitig machen.

    Als Ratschlag empfehle ich Xin, dass er sich in professionelle Behandlung begeben sollte, und lernen sollte, nicht immer alles so ernst zu sehen.

    In diesem Sinne, Dr. Sigmund Freud.



  • Xin schrieb:

    Und was genau ist der Radiant? Steigungsdreieck? Gibt's da nicht vielleicht doch eine direkte Beziehung zu Winkeln?

    Du sprichst hier wahrscheinlich von dem Steigungswinkel bezüglich der X-Achse in einem kartesischem Koordinatensystem.
    Das ist aber kein einfacher Winkel, sondern ein Winkel zur X-Achse in einem kartesischem Koordinatensystem, erst dadurch resultiert Beziehung.
    Ebenso vereinfachst du bei der Ansicht des Steigungsdreiecks, das ist kein allgemeines einfaches Dreieck, sondern ein spezielles. Was meinst du warum man diesem einen extra Namen gegeben hat?

    Die Beziehung zwischen einem Verhältnis von Metern und einem Winkel lässt sich nur indirekt über genau solche Zusammenhänge (welche man in Formeln ausdrücken kann) herstellen.
    Wenn du also von Winkel über Steigungswinkel über kartesisches Koordinatensystem hin zu Steigungsdreieck hin zu Dreieck hin zu Winkel eine direkte Beziehung siehst kann ich dir da nciht zustimmen.



  • Hmm, ich sollte doch mal nen Account anlegen.

    EDIT:
    Wenn du also von Winkel über Steigungswinkel über kartesisches Koordinatensystem hin zu Steigungsdreieck hin zu Metern eine direkte Beziehung siehst kann ich dir da nicht zustimmen.



  • Xin schrieb:

    CStoll schrieb:

    Xin schrieb:

    CStoll schrieb:

    Xin schrieb:

    Shade Of Mine schrieb:

    Diese Vererbung wird also eher als ein "has-a" oder "is-implemented-in-terms-of" verstanden - auch wenn sie aussieht wie eine public Vererbung.

    Willkommen in Genesys.

    Das ist etwa das, wovon ich die WindowFlags abgeleitet habe.

    OK, das Problem hatten wir schon weiter vorne in diesem Thread - C++ ist nicht Genesys, und manche Sprachkonstrukte, die du in Genesys integriert hast, lassen sich nur ungenügend in C++ nachbilden. Du hast deine (afair) Typerweiterungen - und eine Länge als "Erweiterung" von int wäre durchaus sinnvoll - und du nimmst dir die C++ Vererbung und versuchst, das Konzept damit umzusetzen. Letzteres scheitert an der unterschiedlichen Semantik.

    Und an dem Punkt waren wir auf Seite 5 oder 6?

    CStoll schrieb:

    Xin schrieb:

    Shade Of Mine schrieb:

    Da C++ dies aber nicht bietet - würde ich eben eine C++ Lösung nehmen die ebenfalls keine dieser genannten Nachteile hat. Zumal der Ansatz mit Meter/Meter einfach nur genial ist.

    Würde ich auch... und muss ich auch, weil C++ keine Ableitung von int erlaubt.
    Edit: Was eben nicht bedeutet, dass die theoretische Möglichkeit bestünde, es auch auf dem Ansatz zu machen, dessen theoretische Existenz ich hier verteidige.

    Nein, du hast hier die (theoretische) Möglichkeit thematisiert, mit C++ Mitteln von build-in's abzuleiten. Daß du dir ein neues Ableitungs-Konzept mit eigener Semantik wünschst, hast du nie erwähnt.

    !?!?
    Mir fehlen die Worte. Das sind die Punkte, wo ich etwas schreibe, wie "Liebelein" oder "<stirnklatsch>".
    Schau Dir an, was Du unterhalb von "Willkommen in Genesys" schreibst und dann direkt darunter dies.

    Also wenn du von vornherein geschrieben hättest, daß du nicht die Ableitung in C++ Semantik meinst, wäre die ganze Diskussion nie so ausgeartet.

    Gedankenmodell...? Ableitung von Primitiven? Was ich schrieb mit der Mischung aus privater und öffentlicher Vererbung?

    Wenn du nur ein Wort gesagt hättest, daß du nicht von der C++ Vererbung redest,... - aber lassen wir das.

    (btw, wenn du uns die Konzepte von Genesys nahebringen willst, hat bestimmt niemand etwas dagegen (aber bitte in einem neuen Thread) - vielleicht findet sich hier sogar jemand, der deine Sprache noch weiter verbessern hilft).

    Xin schrieb:

    CStoll schrieb:

    Xin schrieb:

    CStoll schrieb:

    Xin schrieb:

    Den Ansatz Meter/Meter hat mir noch keiner gezeigt. Davon wurde hier gesprochen, aber umgesetzt hat ihn noch niemand. Dazu vielleicht nochmal mein Beispiel: Zwei Kräfte zeigen in orthogonale Richtungen. Hier kürzt sich kg*m/s² mit kg*m/s². Ist das jetzt die gleiche Einheit wie Meter/Meter? Und wenn ja wieso kürzt sich kg/s² raus, aber Meter/Meter bliebt?

    Meter/Meter kürzt sich genauso heraus wie alle übrigen Einheiten - wenn zwei gleichartige Größen dividiert werden, bleibt in jedem Fall ein einheitenloser Wert übrig.
    (btw, was die Orthogonalität damit zu tun hat, müsstest du mir nochmal erklären)

    Meter/Meter ergibt einen Winkel, wenn die Teilkräfte/Teilstrecken rechtwinklig sind. Satz des Pythagoras, Gegenkathete ist rechtwinklig zur Ankathete. Sind die Größen abhängig hast Du eine Hypothenuse von 0, also kein Dreieck, keine Winkel.

    Meter/Meter ergibt keinen Winkel (außer eventuell in der Definition der Radiant),

    Und was genau ist der Radiant? Steigungsdreieck? Gibt's da nicht vielleicht doch eine direkte Beziehung zu Winkeln?

    "Radiant" hat herzlich wenig mit Steigungsdreiecken zu tun - das ist die "Einheit" des Bogenmaß (das ist absichtlich in Anführungszeichen gesetzt).

    Xin schrieb:

    Klar, es gibt vieles. Aber wenn etwas anschauliches da ist, warum es nicht auch nutzen.

    Ja, es ist anschaulich - der Sinus von α ist das Verhältnis zweier Strecken in einem vorgegebenen rechtwinkligen Dreieck - aber der Sinus eines Winkels ist kein Winkel, sondern ein einheitenloser Wert.

    Xin schrieb:

    CStoll schrieb:

    Xin schrieb:

    Ich schieße nicht auf jeden. Ich beschränke mich auf diejenigen, die es in meinen Augen verdient haben.

    Und wer hat es in deinen Augen verdient? Jeder, der irgendetwas gegen dein Konzept sagen will?

    Nicht jeder, der was gegen mein Konzept sagt - ich verstehe auch nicht, warum ich das immer wieder sagen muss - ich betonte schon oft genug, dass ich kein Problem habe, wenn jemand dagegen ist.

    Dann hast du wohl ein Problem damit, daß ich dagegen bin.



  • CStoll schrieb:

    Wenn du nur ein Wort gesagt hättest, daß du nicht von der C++ Vererbung redest,... - aber lassen wir das.

    Natürlich hat er die Semantik von C++ gemeint, er hat doch oft genug betont, wie genial die implizite Konvertierung nach int ist, dass man damit beliebige Elemente addieren könne. Nix anderes wurde jemals von ihm erwähnt.



  • CStoll schrieb:

    Xin schrieb:

    Gedankenmodell...? Ableitung von Primitiven? Was ich schrieb mit der Mischung aus privater und öffentlicher Vererbung?

    Wenn du nur ein Wort gesagt hättest, daß du nicht von der C++ Vererbung redest,... - aber lassen wir das.

    Arrght... siehe zwei Zeilen dadrüber...

    CStoll schrieb:

    (btw, wenn du uns die Konzepte von Genesys nahebringen willst, hat bestimmt niemand etwas dagegen (aber bitte in einem neuen Thread) - vielleicht findet sich hier sogar jemand, der deine Sprache noch weiter verbessern hilft).

    Ich schreibe erstmal den Compiler weiter, dann sehen wir weiter. Wenn ich ihn für präsentationswürdig halte, suche ich mir ein paar Leute verschiedener Fähigkeitsstufen und lass sie mal drauf los.

    CStoll schrieb:

    Xin schrieb:

    CStoll schrieb:

    Xin schrieb:

    CStoll schrieb:

    Xin schrieb:

    Hier kürzt sich kg*m/s² mit kg*m/s². Ist das jetzt die gleiche Einheit wie Meter/Meter? Und wenn ja wieso kürzt sich kg/s² raus, aber Meter/Meter bliebt?

    Meter/Meter kürzt sich genauso heraus wie alle übrigen Einheiten - wenn zwei gleichartige Größen dividiert werden, bleibt in jedem Fall ein einheitenloser Wert übrig.
    (btw, was die Orthogonalität damit zu tun hat, müsstest du mir nochmal erklären)

    Meter/Meter ergibt einen Winkel, wenn die Teilkräfte/Teilstrecken rechtwinklig sind. Satz des Pythagoras, Gegenkathete ist rechtwinklig zur Ankathete. Sind die Größen abhängig hast Du eine Hypothenuse von 0, also kein Dreieck, keine Winkel.

    Meter/Meter ergibt keinen Winkel (außer eventuell in der Definition der Radiant),

    Und was genau ist der Radiant? Steigungsdreieck? Gibt's da nicht vielleicht doch eine direkte Beziehung zu Winkeln?

    "Radiant" hat herzlich wenig mit Steigungsdreiecken zu tun - das ist die "Einheit" des Bogenmaß (das ist absichtlich in Anführungszeichen gesetzt).

    Das ist eine Aufzählung, keine Gleichsetzung.

    Folgen wir Deinem Link und sehen dort Radiant = Bogenlänge / Radius.
    Der Radiant hat in meiner Mathematik einen eindeutige Zuordnung zum Winkel: Sie heißt Sinus.

    Kommen wir also zum Steigungsdreieck (hier haben wir die orthogonalen Strecken, die man gerne auch als Vektoren sehen mag):
    Steigung = delta y / delta x
    Die Steigung hat in meiner Mathematik einen eindeutige Zuordnung zu Winkel: Sie heißt Tangens.

    CStoll schrieb:

    Xin schrieb:

    Klar, es gibt vieles. Aber wenn etwas anschauliches da ist, warum es nicht auch nutzen.

    Ja, es ist anschaulich - der Sinus von α ist das Verhältnis zweier Strecken in einem vorgegebenen rechtwinkligen Dreieck - aber der Sinus eines Winkels ist kein Winkel, sondern ein einheitenloser Wert.

    ...mit einer eindeutigen Zuordnung zum jeweiligen Winkel. Je nach Winkel heißt die Zuordnung sinus oder cosinus. Müssen wir uns wirklich darum streiten, dass hier ein Adapter verwendet wird, der aus einer einheitslosen Zahl in eindeutiger Weise (für die Haarspalter unter uns: im Bereich von 2*Pi) eine andere einheitslose Zahl macht und man das eine nun als Beschreibung eines Winkels beschreibt und das andere als Beschreibung eines Winkels, den man adaptieren kann?
    Sie beschreiben beide eindeutig einen Winkel.

    CStoll schrieb:

    Xin schrieb:

    CStoll schrieb:

    Xin schrieb:

    Ich schieße nicht auf jeden. Ich beschränke mich auf diejenigen, die es in meinen Augen verdient haben.

    Und wer hat es in deinen Augen verdient? Jeder, der irgendetwas gegen dein Konzept sagen will?

    Nicht jeder, der was gegen mein Konzept sagt - ich verstehe auch nicht, warum ich das immer wieder sagen muss - ich betonte schon oft genug, dass ich kein Problem habe, wenn jemand dagegen ist.

    Dann hast du wohl ein Problem damit, daß ich dagegen bin.

    <kopfschüttel>

    Manchmal frage ich mich, wie man so demonstrativ aus einer Aussage das Falsche schlussfolgern kann und dann auch noch gedanklich auf der Hälfte stehen bleibt, um eine solche Frage zu formulieren.

    Man verstehe folgendes als Humor, damit die Dünnhäutigen nicht wieder gleich rumzetern.

    Also gut, denken wir das ganze mal zu Ende: Damit Deine Schlussfolgerung funktioniert, kannst Du nicht zur Gruppe gehören, die jemand ist. Du musst ein Sonderfall sein, der nicht jemand ist.
    Wenn Du nicht jemand bist, dann bist Du niemand.

    Ich habe auch kein Problem damit, wenn niemand dagegen ist.

    Ich habe Dich mal implizit als existierende Person aufgefasst, also als jemand und so habe ich kein Problem, wenn Du dagegen bist. Wenn das ein Denkfehler war und Du ein niemand bist, ich also für die Zuordnung von Mitgliedern zur Gruppe der existierenden Personen in diesem Forum doch einen expliziten Konstruktor brauche, so korrigiere mich bitte. 😉


Anmelden zum Antworten