Methoden mit bool-Parametern und "Lesbarkeit" im Kontext
-
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*Meterund
cos_alpha = Meter/Butterbrotvöllig legaler Code, der niemals Fehler ausspucken wird. Ich finde das nicht typsicher, ka, wie du das siehst.
Meiner Ansicht nach dürfte nurcos_alpha = Meter/Kilogramm*Meter*Kilogrammlegal 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*VoltButtrebrot*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?
-
Theston schrieb:
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*Meterund
cos_alpha = Meter/Butterbrotvöllig legaler Code, der niemals Fehler ausspucken wird. Ich finde das nicht typsicher, ka, wie du das siehst.
Genauso, aber ich kann keine Wunder vollbringen und habe auch nie behauptet. Typlose Größen kann ich nicht typisisieren.
Theston schrieb:
Meiner Ansicht nach dürfte nur
cos_alpha = Meter/Kilogramm*Meter*Kilogrammlegal sein, denn nur das hat physikalisch einen Sinn.
Grüße vom Planeten Erde!
So langsam wird mir hier einiges klar. Das Forum muss also ein Tor in ein anderes Universum mit anderen Naturgesetzen darstellen...
Theston schrieb:
Und die Templatevariante deckt das wunderbar.
Auf meinem Heimatplaneten scheitert das Template da genauso dran, denn unit< 0, 0, ... > enthält genausowenig Meter/Meter, wie cos_alpha. Typlos bliebt Typlos.
Quadratmeter werden zugegebenermaßen vom Template wunderbar abgebildet, in diesem Universum werden Winkel aber nicht in Quadratmetern ausgedrückt.Danke für's Mitspielen, leider nicht gewonnen.
Dein Posting fiel aber durch besonderen Unterhaltungswert positiv auf.
Mr. N schrieb:
Xin schrieb:
Mr. N schrieb:
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.

...also ein Sympathieträger in Reinkultur.Mr. N schrieb:
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?
Was man so hört. Keine Sorge, Du musst ihn nicht wieder erstellen. Die älteren Leute gucken mal durch den Zaun auf den Spielplatz und gehen weiter.
-
Theston schrieb:
Noch eine Problematik, die mir auffiel.
Er geht in die zweite Runde...
Theston schrieb:
Volt = Butterbrot*Katze*VoltButtrebrot*Katze ergibt typlos.
Falsch, ergibt Unit, konvertierbar auf typlos.
Theston schrieb:
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?
Tut mir leid, Du bist etwa 10-20 Seiten zu spät. Die Lösung hatten wir schon.
Danke für's Mitspielen undviel Erfolg beim nächsten Versuch.
Ich glaube, ich werde zynisch, Zeit ins Bett zu gehen...
-
Xin schrieb:
Liebelein... guck doch nochmal nach, was Du alles so schreibst... Du erklärst mir hier, warum Spannung keine Größe ist, sondern eine Einheit. Dann erklärtest Du den Unterschied zwischen Einheit und Größe: nämlich Volt ist eine Größe und Butterbrote ist eine Größe. Wo da der Unterschied zwischen Einheit und Größe liegt, zwei synonymen Begriffen, das weißt vermutlich nur Du.
Konzentriere Dich doch mal darauf, was Du erklären möchtest und nicht nur darauf, einfach zu texten, um Textstellen wie "Du begreifst es nicht, oder wie?" reinzubringen. Ich äußerte vorher schon den Verdacht, dass es Dir vorangig darum geht dagegen zu sein und grade hier textest Du nur unzusammenhängendes Zeugs.
Was Du hier erklärst kann niemand begreifen, es ist nämlich vollkommen ohne inhaltlichen Wert.Am Rande: eine Anzahl wird in Stück gemessen und Stück bedeutet lediglich, dass etwas zählbar ist, gewissermaßen ein Integer. Eine Spannung hingegen wird nicht in Stück gemessen, weil nicht abzählbar. Mehl ist auch nicht abzählbar, darum mißt man es in Gewicht. Egal worin man mißt, man braucht eine Einheit.
Und wenn Du Dir bei Butterbroten unsicher bist, ob Du sie zählen kannst, dann darfst Du Deine Zählklasse auch gerne StückButterbrote nennen, um sie von StückHäuser zu unterscheiden. Und Deine Mehlklasse in GrammMehl, damit Du Deine Pfannkuchen nicht mit GrammUran verwechselst.
Stück ist jedenfalls keine Einheit und darum nenne ich die Einheit, in der ich Butterbrote zähle Butterbrot.
Und wenn ich zwei StückButterbrote und zwei StückHäuser addiere, dann kommen da bei mir vier Unit raus. Nur halt nicht Häuser oder Butterbrote - nur Unit. Und wenn ich 5 GrammUran mit 10 GrammMehl addiere, dann kommen da 15 Unit raus. Als Klassenhersteller habe ich keine Ahnung, was das ist, aber der Entwickler weiß es und kann das nun mit dem entsprechenden expliziten Konstruktor auf GrammSondermüll zuweisen.ROFL Das ist gut. Damit kannst du glaube ich jeden Physiker mit vor lachen vom Stuhl hauen. Falls der Beitrag kein Spaß war, würde ich dir aber mal zum lesen eines Physik Buches (da reicht was simples, ist ja ein sehr grundlegendes und einfaches Thema) raten.
-
Hmmm, aber ob man diesen Lehrbüchern trauen kann? Das glauben ja inzwischen Millionen Menschen, was da drinsteht... diese Bücher sind ja quasi eine "BILD" der Physiker.
-
Xin schrieb:
Theston schrieb:
Volt = Butterbrot*Katze*VoltButtrebrot*Katze ergibt typlos.
Falsch, ergibt Unit, konvertierbar auf typlos.
Sowas erschwert nur die Strategie zur Aufspürung logischer Fehler im Programm. Finde mal heraus, welches Objekt die Daten versemmelt haben könnte.
-
Was macht ihr da? Ihr wollt Code schreiben um irgendwelche Sachen auszurechnen und vom Compiler Fehlermeldungen, wenn die Einheiten nicht passen? Ich hab noch nie eine größere Anwendung geschrieben, die sowas macht, aber ich denke die Formeln sind beim schreiben des Programms doch bekannt. Also ich würde mir nicht irgendwelche Klassen für Spannung Strom usw.. machen und mit denen dann rechnen, dass ist doch viel zu langsam. Wenn ich irgendwelche Echtzeitberechnungen machen muss, würde ich das direkt int den Code schreiben mit int und/oder double und die Einheit erst bei der Anzeige (falls vorhanden) hinschreiben. Wenn ich ein Formelnbastelprogramm schreiben will, dann könnte man sowas machen, aber da stell ich es mir viel zu Aufwendig vor, bis ich alle Kombinationen habe. Hat von euch schon einer ein Programm geschrieben, dass viele Berechnungen macht und denn Code so geschrieben, dass es Compilerfehler gibt, wenn man falsche Formeln baut (nicht für sich privat)?