Methoden mit bool-Parametern und "Lesbarkeit" im Kontext



  • Xin schrieb:

    Da Du das template aber nicht unendlich dimensional erzeugen kannst, jedenfalls nicht in der Realität, ist wohl eindeutig.

    Stimmt, aber glücklicherweise genügt es ja, dass ich die Dimension beliebig groß machen kann. 🙂

    Daher kommst Du mit dem Template nicht weiter als ohne. Schon mit den 7 Einheiten wird das ganze vollkommen unverständlich.

    Natürlich verwenden wir typedefs. Weiterhin ist es glücklicherweise nicht nötig alle möglichen auftretenden Kombinationen zu typedefen. Wenn ein Zwischenergebnis halt kgm/s^2 hat und das kg noch wieder rausgekürzt wird im Verlauf der späteren Rechnung, dann brauche ich den Typ auch nicht explizit benennen.

    Da ich typedefs benutze ist es völlig problemlos die Butterbrote einzufügen, ohne dass die Übersichtlichkeit leidet. Insbesondere muß ich für kg*Butterbrot keinen Typverlust hinnehmen -- komplizierte Welt! 😮

    Das will ich hoffen, ansonsten frage ich mich ernsthaft, wofür operator int() wohl gut sein sollte...

    Das haben sie bestimmt eingebaut, weil man nicht von int erben kann!



  • Xin schrieb:

    Jow...
    Und wenn Du mit einem Auto gegen einen Baum fährst, wird es auch implizit in einen Haufen Schrott umgewandelt.
    Ohne Warnung. Schlussfolgerung: der Autohersteller hat nicht typsicher gearbeitet, weil er die Verbindung Baum + Auto nicht unterbindet und es so zu unerwarteten Ergebnissen kommt, wenn der Nutzer sich nicht an das hält, was er in seiner Ausbildung gelernt haben sollte.

    Tja. Man kann es dem Benutzer halt leicht und schwer machen etwas falsch zu machen. Wir wollen es ihm möglichst schwer machen. Du hingegen stehst anscheinend auf dem Standpunkt, dass der Benutzer halt selber Schuld ist dass Mist rauskommt wenn er nen Fehler macht. Das ist natürlich schlecht, sei Dir aber unbelassen.

    Schon wieder eine Kritik an den expliziten int-Konstruktoren?!? Wenn man keine Ahnung hat, einfach mal Fragen stellen. ^^

    Das ist natürlich der Hammer. Ganz klar, wer Deine expliziten Konstruktoren kritisiert, der hat's nicht kapiert. -- Warum? -- Ganz klar, sonst würde er sie ja nicht kritisieren. 👍
    Das ist echt so unglaublich eingebildet, ignorant und vor allem unverschämt, dass es schon weh tut.



  • Das hat weh getan(also dem xin mein ich)

    Auch wenn man generell auf diese wertlosen, zwischenraumfüllenden unreg posts verzichten könnte geben sie manchmal der diskussion eine interressante wende, oder machen zumindest manchmal die eigentlichen aussagen in den posts der ernsthaft diskutierenden klarer.



  • Jester schrieb:

    Das ist natürlich der Hammer [...]
    Das ist echt so unglaublich eingebildet, ignorant und vor allem unverschämt, dass es schon weh tut.

    das sag ich ja schon seit wochen aber auf mich hört ja niemand. selbst schuld wenn ihr euch immer wieder von dem typen provozieren lasst 🙄



  • Also bitte, wer hier seitenweise die Leute beleidigt, dann rumheult, dass er selbst angegriffen wird und sich anschließend damit rechtfertigt, dass er gar niemanden beleidigt, sondern nur wiedergegeben hat, was offensichtlich erkennbar wäre, muss ja irgenwelche Störungen haben.



  • Jester schrieb:

    Xin schrieb:

    Da Du das template aber nicht unendlich dimensional erzeugen kannst, jedenfalls nicht in der Realität, ist wohl eindeutig.

    Stimmt, aber glücklicherweise genügt es ja, dass ich die Dimension beliebig groß machen kann. 🙂

    Eine theoretisch perfekte Lösung. ^^

    Jester schrieb:

    Da ich typedefs benutze ist es völlig problemlos die Butterbrote einzufügen, ohne dass die Übersichtlichkeit leidet. Insbesondere muß ich für kg*Butterbrot keinen Typverlust hinnehmen -- komplizierte Welt! 😮

    In dem Fall sicherlich, aber Typsicherheit war in einer Zeit wo man dankbar war nicht mehr Assembler schreiben zu müssen, einfach noch kein Thema.

    Jester schrieb:

    Das will ich hoffen, ansonsten frage ich mich ernsthaft, wofür operator int() wohl gut sein sollte...

    Das haben sie bestimmt eingebaut, weil man nicht von int erben kann!

    Du kannst auch operator string() definieren und von string könnte man erben. ^^

    Jester schrieb:

    Tja. Man kann es dem Benutzer halt leicht und schwer machen etwas falsch zu machen. Wir wollen es ihm möglichst schwer machen. Du hingegen stehst anscheinend auf dem Standpunkt, dass der Benutzer halt selber Schuld ist dass Mist rauskommt wenn er nen Fehler macht. Das ist natürlich schlecht, sei Dir aber unbelassen.

    Ich stehe auf dem Standpunkt, dass man nicht überall ein Sicherheitszäune hinbauen darf. Das bewahrt die Leuten, die wissen, was sie tun, davor gelegentlich versehentlich abzustürzen. Das spart den Leuten am Tag 5 Minuten. Es erzeugt aber auch Leute, die sich locker und unüberlegt durch ihre Welt bewegen, weil es überall ja Sicherheitszäune gibt.
    Und dann gibt's eine Stelle, wo der Zaun ein Loch hat und keiner versteht, was passiert. Das lässt Weltbilder zusammenfallen. C++ ist kein Basic und ich mache auch keins draus.

    Diese Sicherheits-Mentalität habe ich nicht. Ich schütze nicht vor allen Fehlern. Wer dumme Fragen stellt, muss mit dummen Antworten rechnen - im wahrsten Sinne des Wortes. Es gibt viele Fallen und jeder Entwickler sollte jede einzelne ausprobieren, um Erfahrung zu sammeln und sich auch dort bewegen zu können, wo keiner Zäune aufgestellt hat. Ich persönlich schätze die freie Natur.

    Jester schrieb:

    Schon wieder eine Kritik an den expliziten int-Konstruktoren?!? Wenn man keine Ahnung hat, einfach mal Fragen stellen. ^^

    Das ist natürlich der Hammer. Ganz klar, wer Deine expliziten Konstruktoren kritisiert, der hat's nicht kapiert. -- Warum? -- Ganz klar, sonst würde er sie ja nicht kritisieren. 👍
    Das ist echt so unglaublich eingebildet, ignorant und vor allem unverschämt, dass es schon weh tut.

    Dass er keine Ahnung hat, hat er geschrieben und anschließend noch die Beweisführung betrieben, darum bin ich eingebildet, ignorant und vor allem unverschämt.

    Ich schrieb ja grade erst, dass jeder seine Erfahrungen machen muss, um ein erfahrener Entwickler zu werden. 'explicit' habe ich auch nicht gefunden, weil ich ein C++ Buch auswendig gelernt habe, sondern weil ich genau das Problem zu lösen hatte.
    Wenn ihr das Problem anders lösen wollt... viel Erfolg, bisher habt ihr an den Konstruktoren nichts vorgelegt.

    Du und Shade könnt gerne auf explizite Konstruktoren verzichten. Niemand muss was ich hier von mir gebe, glauben oder akzeptieren. Auch wenn Du es als eingebildet, ignorant und unverschämt ansiehst, kann es nicht so dumm sein, dass ihr euch nicht damit beschäftigt. Wer an den expliziten Konstruktoren rütteln will, sollte es aber vorsichtig und schrittweise mit Fragen probieren. Mit Gewalt Behauptungen aufzustellen und dann zu versuchen die Behauptungen durchzusetzen, lässt einen nunmal nicht im besten Licht darstehen, wenn's schief geht.
    Da rücke ich niemanden hin, aber ziehe euch auch nicht in ein besseres Licht.

    Es ist jedenfalls nicht eingebildet oder arrogant Shade sein Eigentor versenken zu lassen. Ignorant wäre es gewesen, ihn mit seinem Denkfehler stehen zu lassen.
    Und beschimpft werde ich hier so oder so - so what?

    Da ich so "dünnhäutig" bin, lebe ich hier vermutlich meine masochistische Ader oder "irgendwelche Störungen" sonstiger Natur aus. Auf jeden Fall muss der Fehler bei mir liegen und wenn's nicht die expliziten Konstruktoren sind, dann muss ich wenigstens eingebildet, ignorant und unverschämt sein.



  • Beispiele schrieb:

    Meter = { komplexe physikalische Formel }
    

    Bei { komplexe physikalische Formel } ist irgendwas faul, es kommt int raus. Der Compiler verweigert es, aber was genau ist nun faul? Bei CStolls Templatesystem kommt eine prägnante Fehlermeldung à la "Keine Überladung für Sekunde * Haus". Alles ist sofort klar. DAS ist Typsicherheit.

    Anderes Beispiel: In der Physik gibt es durchaus typlose Konstanten oder Ergebnisse, z.B. Brechzahl, oder Winkel, insbesondere trigonometrische Funktionen davon. Du weißt also ein int einem int zu, aber ist das int nun richtig entstanden? Man kann es nicht nachvollziehen.

    Warum gehst du hierauf eigentlich nicht ein Oo



  • dfggfg schrieb:

    ach red doch keinen verbalen dünschiss...
    es habt sich gezeigt, dass die vorteile xins methode im detail stecken,
    und man sie eigentlich mit dem bloßem auge nicht erkennen kann,
    die nachteile zwar manchmal erkennbar sind, aber dies nur sind, wenn man die
    nachteile als solche definiert, und das nur, wenn es nachts kälter als draußen ist.

    Also ist doch alles eindeutig oder?

    Kann man dich mieten?



  • Hallo

    Oh Mann Xin gefällst du dir in der Rolle des Unverstandenen?

    chrische



  • Beispiele schrieb:

    Beispiele schrieb:

    Meter = { komplexe physikalische Formel }
    

    Bei { komplexe physikalische Formel } ist irgendwas faul, es kommt int raus. Der Compiler verweigert es, aber was genau ist nun faul? Bei CStolls Templatesystem kommt eine prägnante Fehlermeldung à la "Keine Überladung für Sekunde * Haus". Alles ist sofort klar. DAS ist Typsicherheit.

    Anderes Beispiel: In der Physik gibt es durchaus typlose Konstanten oder Ergebnisse, z.B. Brechzahl, oder Winkel, insbesondere trigonometrische Funktionen davon. Du weißt also ein int einem int zu, aber ist das int nun richtig entstanden? Man kann es nicht nachvollziehen.

    Warum gehst du hierauf eigentlich nicht ein Oo

    Ich ignoriere Unregistrierte mit wachsender Begeisterung.
    Ich habe mir überlegt, ob ich auf das Posting eingehe und habe mich dagegen entschieden, weil nichts Konstruktives dabei rumkommt. Was soll's...

    Typsicherheit ergibt sich nicht durch Compilerwarnungen, sondern durch Zuweisbarkeit. Beides ist nicht zweisbar, also auch nicht übersetzbar, also typsicher.
    Die Compilerwarnungen wären bei unbekannten Verbindungen bei expliziten Konvertierungen konkreter. Das hilft, wenn man einen guten Compiler hat. Das SAS-Institute hatte einen - eingestellt. Der StormC wurde eingestellt, weil es einen portablen Compiler gibt, an dem man sich zu orientieren hat und dessen Quelltext offenliegt. Und so toll waren die Fehlermeldung des StormC dann auch wieder nicht.
    Nennenswert sind eigentlich nur GCC, MSVC und Intel. Intel kenne ich noch nicht, kann ich also nicht beurteilen, GCC und MSVC haben Fehlermeldungen, die absolut unter aller Sau sind. Ein eventueller Vorteil, der vom Compiler verschenkt wird, taugt nicht als Vorteil.
    Wenn ich keinen Vorteil von asInt() erhalte, bevorzuge ich operator int().

    Ansonsten werden Winkel bei mir in Grad gemessen. Muss ich auf sowas wirklich eingehen?
    Der Brechungsindex ist eine typlose Größe. Wie soll irgendwer eine typlose Größe typsichern?
    Was soll ich also dazu schreiben?

    chrische5 schrieb:

    Xin gefällst du dir in der Rolle des Unverstandenen?

    Nein. Sollte man mir eine angenehmere anbieten, werde ich mit Begeisterung wechseln.



  • Xin schrieb:

    Ansonsten werden Winkel bei mir in Grad gemessen.

    Bei mir in Bogenmaß. (Übrigens auch eine einheitenlose Zahl.)

    Xin schrieb:

    Der Brechungsindex ist eine typlose Größe. Wie soll irgendwer eine typlose Größe typsichern?

    Wo es nicht geht, geht es nicht. Aber wo es geht, sollte man es tun.

    Xin schrieb:

    chrische5 schrieb:

    Xin gefällst du dir in der Rolle des Unverstandenen?

    Nein. Sollte man mir eine angenehmere anbieten, werde ich mit Begeisterung wechseln.

    Also ich würde dir empfehlen, weniger oft das Wort 'Kindergarten' zu benutzen, dann fühlst du dich bestimmt gleich besser.



  • Xin schrieb:

    Beides ist nicht zweisbar, also auch nicht übersetzbar, also typsicher.

    Und wie das zweite übersetzbar bar ist. Aber du bist ja gut im alles ignorieren, as dir nicht passt.



  • Mr. N schrieb:

    Xin schrieb:

    Ansonsten werden Winkel bei mir in Grad gemessen.

    Bei mir in Bogenmaß. (Übrigens auch eine einheitenlose Zahl.)

    Sehr richtig, des Weiteren sprach ich auch von trigonometrischen Funktionen, da kannst du gar keine Einheit dazu konstruieren.

    Xin schrieb:

    Der Brechungsindex ist eine typlose Größe. Wie soll irgendwer eine typlose Größe typsichern?

    Man kann es typsichern, wie sie entsteht, sie kann durch Meter/Meter entstehen, aber darf nicht durch Meter*Haus entstehen. CStolls Variante sichert das wunderbar.



  • Mr. N schrieb:

    Xin schrieb:

    Ansonsten werden Winkel bei mir in Grad gemessen.

    Bei mir in Bogenmaß. (Übrigens auch eine einheitenlose Zahl.)

    Die sich aber einem Typ Gradmaß oder Gon zuordnen läßt und somit wieder typsicher (weiter-)verarbeitet werden kann.

    Sind die Winkelfunktionen auf Winkeltypen festgelegt, käme kaum einer auf die Idee Winkel dauerhaft als typlose Größe zu beschreiben.

    Mr. N schrieb:

    Xin schrieb:

    Der Brechungsindex ist eine typlose Größe. Wie soll irgendwer eine typlose Größe typsichern?

    Wo es nicht geht, geht es nicht. Aber wo es geht, sollte man es tun.

    Eben.

    Mr. N schrieb:

    Xin schrieb:

    chrische5 schrieb:

    Xin gefällst du dir in der Rolle des Unverstandenen?

    Nein. Sollte man mir eine angenehmere anbieten, werde ich mit Begeisterung wechseln.

    Also ich würde dir empfehlen, weniger oft das Wort 'Kindergarten' zu benutzen, dann fühlst du dich bestimmt gleich besser.

    Wenn sich hierdurch einige Leute auf den Schlips getreten fühlen, stellt sich die Frage, warum sie sich angesprochen fühlen. Dem Unregistrierten, denn Du eben mit "Kann man Dich mieten?" geantwortet hast - wie würdest Du derartige Poster denn beschreiben? Als Erwachsene?

    Und wenn ich von einem Admin aus dem #cpp gebannt werde mit Begründungen wie "Ich banne Dich in #cpp, weil ich Dich nicht aus dem Forum werfen kann" und "Willkür ist Willkür", dann spricht das auch nicht unbedingt für ein erwachsenes Verhalten. Das ist für mich ein Kindergarten.

    Das ist meine Meinung und zu der stehe ich. Ich erzähle niemanden etwas, hinter dem ich nicht stehe. Ich kann mich irren, aber wer in meinen Augen nicht zum Forumskindergarten gehören möchte, der sollte sich auch nicht wie ein Dreijähriger aufführen.



  • Xin schrieb:

    Mr. N schrieb:

    Xin schrieb:

    Ansonsten werden Winkel bei mir in Grad gemessen.

    Bei mir in Bogenmaß. (Übrigens auch eine einheitenlose Zahl.)

    Die sich aber einem Typ Gradmaß oder Gon zuordnen läßt und somit wieder typsicher (weiter-)verarbeitet werden kann.

    Sind die Winkelfunktionen auf Winkeltypen festgelegt, käme kaum einer auf die Idee Winkel dauerhaft als typlose Größe zu beschreiben.

    Was redest du jetzt schon wieder? Kennst du dich mit Physik überhaupt aus, und weiß, wie ein Cosinus in eienr Formel aussieht? Er entsteht z.B. aus Meter/Meter, wie willst du deinem Programm mitteilen, dass das ein Cosinus ist, Meter*Haus aber nicht?



  • Xin schrieb:

    Mr. N schrieb:

    Xin schrieb:

    chrische5 schrieb:

    Xin gefällst du dir in der Rolle des Unverstandenen?

    Nein. Sollte man mir eine angenehmere anbieten, werde ich mit Begeisterung wechseln.

    Also ich würde dir empfehlen, weniger oft das Wort 'Kindergarten' zu benutzen, dann fühlst du dich bestimmt gleich besser.

    Wenn sich hierdurch einige Leute auf den Schlips getreten fühlen

    Es geht um dein Wohlbefinden.

    Xin schrieb:

    , stellt sich die Frage, warum sie sich angesprochen fühlen. Dem Unregistrierten, denn Du eben mit "Kann man Dich mieten?" geantwortet hast - wie würdest Du derartige Poster denn beschreiben? Als Erwachsene?

    Also ich fand seine Zusammenfassung sehr schön. Liest sich wie ein Gedicht. 🙂

    Xin schrieb:

    Und wenn ich von einem Admin aus dem #cpp gebannt werde mit Begründungen wie "Ich banne Dich in #cpp, weil ich Dich nicht aus dem Forum werfen kann" und "Willkür ist Willkür", dann spricht das auch nicht unbedingt für ein erwachsenes Verhalten. Das ist für mich ein Kindergarten.

    Ja, #cpp ist ein Hort der Willkürherrschaft. Da herrscht noch das Feudalrecht!

    Xin schrieb:

    Das ist meine Meinung und zu der stehe ich. Ich erzähle niemanden etwas, hinter dem ich nicht stehe. Ich kann mich irren, aber wer in meinen Augen nicht zum Forumskindergarten gehören möchte, der sollte sich auch nicht wie ein Dreijähriger aufführen.

    Ich wollte dir ja nur einen Rat geben, wie du dich vielleicht besser fühlen könntest. 🙂



  • Mr. N schrieb:

    Es geht um dein Wohlbefinden.

    Ich fühle mich nicht wohl, wenn ich Leute dafür belügen muss.

    Mr. N schrieb:

    Xin schrieb:

    Und wenn ich von einem Admin aus dem #cpp gebannt werde mit Begründungen wie "Ich banne Dich in #cpp, weil ich Dich nicht aus dem Forum werfen kann" und "Willkür ist Willkür", dann spricht das auch nicht unbedingt für ein erwachsenes Verhalten. Das ist für mich ein Kindergarten.

    Ja, #cpp ist ein Hort der Willkürherrschaft. Da herrscht noch das Feudalrecht!

    Ich war mal Admin eines IRC-Servers und dort in der Regel nichtmals als ChannelOp unterwegs.

    Ich frage mich immer, wie das reale Ego von Leute aussieht, die ihr virtuelles Ego auf einem virtuellen Thron platzieren müssen.

    Mr. N schrieb:

    Ich wollte dir ja nur einen Rat geben, wie du dich vielleicht besser fühlen könntest. 🙂

    Wenn Du noch einen Rat hast, für den ich mich nicht für einen Forenkindergarten verbiegen muss, lass hören. Ansonsten... obwohl ich hörte, dass der Bann aufgehoben wurde, kann ich auch ohne #cpp ganz gut leben.



  • Xin schrieb:

    Ansonsten werden Winkel bei mir in Grad gemessen.
    Der Brechungsindex ist eine typlose Größe. Wie soll irgendwer eine typlose Größe typsichern?

    Nun, bei dir ist

    Brechzahl = Butterbrot*Schraube*Meter
    

    und

    cos_alpha = Meter/Butterbrot
    

    völlig legaler Code, der niemals Fehler ausspucken wird. Ich finde das nicht typsicher, ka, wie du das siehst.
    Meiner Ansicht nach dürfte nur

    cos_alpha = Meter/Kilogramm*Meter*Kilogramm
    

    legal sein, denn nur das hat physikalisch einen Sinn. Und die Templatevariante deckt das wunderbar. Typsicherheit fängt eben nicht erst bei der Zuweisung an. Wie willst du das absichern?



  • Xin schrieb:

    Mr. N schrieb:

    Es geht um dein Wohlbefinden.

    Ich fühle mich nicht wohl, wenn ich Leute dafür belügen muss.

    Na dann entschuldige vielmals.

    Xin schrieb:

    Mr. N schrieb:

    Xin schrieb:

    Und wenn ich von einem Admin aus dem #cpp gebannt werde mit Begründungen wie "Ich banne Dich in #cpp, weil ich Dich nicht aus dem Forum werfen kann" und "Willkür ist Willkür", dann spricht das auch nicht unbedingt für ein erwachsenes Verhalten. Das ist für mich ein Kindergarten.

    Ja, #cpp ist ein Hort der Willkürherrschaft. Da herrscht noch das Feudalrecht!

    Ich war mal Admin eines IRC-Servers und dort in der Regel nichtmals als ChannelOp unterwegs.

    Ich frage mich immer, wie das reale Ego von Leute aussieht, die ihr virtuelles Ego auf einem virtuellen Thron platzieren müssen.

    Also, wenn ich nicht gerade in der Ecke sitze und weine, beleidige ich am liebsten unschuldige, bevorzugt ältere, Leute.

    Xin schrieb:

    Mr. N schrieb:

    Ich wollte dir ja nur einen Rat geben, wie du dich vielleicht besser fühlen könntest. 🙂

    Wenn Du noch einen Rat hast, für den ich mich nicht für einen Forenkindergarten verbiegen muss, lass hören. Ansonsten... obwohl ich hörte, dass der Bann aufgehoben wurde, kann ich auch ohne #cpp ganz gut leben.

    Nein, der Bann wurde nicht aufgehoben. Woher hast du das denn?



  • Noch eine Problematik, die mir auffiel.

    Volt = Butterbrot*Katze*Volt
    

    Buttrebrot*Katze ergibt typlos. Allerdings ist es physikalisch sinnvoll, einen Operator typlos*Volt zu haben, der Volt liefert, als Beispiel genannte Brechzahl und Wurzelfunktionen, das Endergebnis der Operation ist also VOLT, Zuweisung funktioniert. Typsicherheit?


Anmelden zum Antworten