Wie ist bool im Detail definiert?

edit,
@Doc_Arduino:
jap, danke, hat sich gerade zeitlich überschnitten

Die Frage ist doch:
Ist beides richtig
oder
Etwas überflüssig kompliziert hinzuschreiben ist fehleranfällig und damit falsch.

Mir erklären zu wollen, ich hätte euch beide oder einen von euch nicht verstanden, ist übrigens völlig falsch :wink:

Rein persönlich empfinde ich den Nachsatz “… und damit falsch” als etwas zu rigoros, freue mich aber immer wieder über Combies Haltung.

Doc:
damit wäre ja alles geklärt.

Jetzt hab ich’s endlich getippt, jetzt wirds auch gepostet.

michael_x:
Die Frage ist doch:
Ist beides richtig
oder
Etwas überflüssig kompliziert hinzuschreiben ist fehleranfällig und damit falsch.

Mir erklären zu wollen, ich hätte euch beide oder einen von euch nicht verstanden, ist übrigens völlig falsch :wink:

Rein persönlich empfinde ich den Nachsatz “… und damit falsch” als etwas zu rigoros, freue mich aber immer wieder über Combies Haltung. Jetzt hab ich’s endlich getippt, jetzt wirds auch gepostet.

wer redet davon, er hätte dir etwas erklären wollen?
Meine Aussage hatte ich auf den OP bezogen, und das war Doc_Arduino
.
Die Aussage allerdings, dass
if(bool(2)==true)
"…damit falsch" sei, ist weder richtig noch “etwas zu rigoros”, sondern schlicht falsch, und nichts anderes.

es ging schließlich lediglich um die korrekte Formulierung eines == Vergleichs von einem Integer mit einem Boolean Wert.
Und dazu hatte ich ja bereits angemerkt:

und sollte ntl nicht so missinterpretiert werden, dass if(bool(2)==true) besserer Stil wäre als if(2)

dsyleixa:
Die Aussage allerdings, dass
if(bool(2)==true)
"..damit falsch" sei, ist weder richtig noch "etwas zu rigoros", sondern schlicht falsch, und nichts anderes.

Da werde ich dich enttäuschen müssen!

Es gibt weder Richtig, noch Falsch.
Oder gar nur das eine Richtig, oder das eine Falsch.

Es ist also nur eine Bewertung!
Ein Ding im Kopf.

Von daher kann ich ein "etwas zu rigoros" gerne stehen lassen, denn es ist auch eine Bewertung.
Ganz und gar nicht meine, aber eine Bewertung.

Ein Spielchen?
Mache doch mal eine Bewertungsskala:

(schöne Variante) ------ (ka, was besser ist) ------- (hässliche Variante)

Und da teile die Möglichkeiten ein, z.b. wie ich es hier(#16) schon gemacht habe.

Beachte dabei auch die betreffenden Strategien, wie z.B. KISS

Und dann bezeichne alle auf der Seite von (hässliche Variante) mit "falsch"


Ach ja...
Der genannte Thread hier(#16) ist evtl wirklich für dich lesenswert, da er das Thema gut durchkaut, und könnte auch ein Beispiel dafür sein, wie man einen Konsens erzielt.
Und dennoch jeder seine eigene Meinung und Ansichten behält.

Ganz sicher sind solche Sprüche:

und versuche daraus klüger zu werden
Weit davon entfernt eine Konsensbereitschaft zu zeigen

Es gibt halt immer wieder Leute, die per Definition immer Recht haben. Der/die/das dsyleixa ist ein würdiger Vertreter dieser Spezies.

Gruß Tommy

combie:
Da werde ich dich enttäuschen müssen!

Es gibt weder Richtig, noch Falsch.
Oder gar nur das eine Richtig, oder das eine Falsch.

Es ist also nur eine Bewertung!
Ein Ding im Kopf.

Von daher kann ich ein "etwas zu rigoros" gerne stehen lassen, denn es ist auch eine Bewertung.
Ganz und gar nicht meine, aber eine Bewertung.

Ein Spielchen?
Mache doch mal eine Bewertungsskala:

(schöne Variante) ------ (ka, was besser ist) ------- (hässliche Variante)

Und da teile die Möglichkeiten ein, z.b. wie ich es hier(#16) schon gemacht habe.

Beachte dabei auch die betreffenden Strategien, wie z.B. KISS

Und dann bezeichne alle auf der Seite von (hässliche Variante) mit "falsch"


Ach ja...
Der genannte Thread hier(#16) ist evtl wirklich für dich lesenswert, da er das Thema gut durchkaut, und könnte auch ein Beispiel dafür sein, wie man einen Konsens erzielt.
Und dennoch jeder seine eigene Meinung und Ansichten behält.

Ganz sicher sind solche Sprüche:

und versuche daraus klüger zu werden
Weit davon entfernt eine Konsensbereitschaft zu zeigen

combie, es geht um die Aussagen von tommy56
a) das Verhalten if(2==true) -> false als Auswertung sei "inkonsistent"
und von dir
b) der Code if(bool(2)==true)--> true sei "somit falsch".

Hingegen sind beide Äußerungen falsch.

Man mag sie inkonsistent finden bzw. unschön finden, aber sie sind beide dennoch konsistent und /bzw korrekt.
Und ich habe ja auch gezeigt, wieso (a) entgegen tommys Aussage doch konsistent ist, und Punkt (b) diente ja nur zum Verdeutlichen, wo der Hase im Pfeffer liegt.

Falls du anhand von C-Sprachdefinitionen nachweisen kannst, dass sie tatsächlich inkonsistent bzw. falsch sind, lasse ich mich gerne davon überzeugen.
Aber solange du keine tatsächlichen Nachweise für "inkonsistent" oder "falsch" aufführen kannst, bleibst du nachweislich im Unrecht.

alles klar?

Tommy56:
Es gibt halt immer wieder Leute, die per Definition immer Recht haben. Der/die/das dsyleixa ist ein würdiger Vertreter dieser Spezies.

Gruß Tommy

ich bin der letzte, der "per Definition immer Recht haben" will. Da gibt es offenbare andere, auf die das zutrifft...

combie:
Cool, dann eben der Schwanzvergleich !?
Vor wie viel Jahren hast du dein erstes Programm mit if geschrieben?
Wie lange hast du dich bisher von deinen Programmierkünsten ernährt?
In wie vielen Programmierer Teams dürftest du schon arbeiten?

Im obigen if(...==true) Fall habe ich allerdings gezeigt, dass ich Recht habe, oder kannst DU anhand von C(++) Sprachdefinitionen nachweisen, dass meine Aussagen tatsächlich falsch sind?
Ich bin gespannt, lasse mich aber gern überraschen und überzeugen.
Solange DU aber hier nur vage haltlose Anschuldigungen und Beschimpfungen von der Stange lassen kannst, solange halte dich besser komplett raus.

@combie: ja, du hast Recht, die Aussage a) stammte von tommy56, das habe ich verwechselt, Entschuldigung.

dsyleixa:
@combie: ja, du hast Recht, die Aussage a) stammte von tommy56, das habe ich verwechselt, Entschuldigung.

OK, du beziehst dich hier auf ein von mir gelöschtes Posting…
Denn ich war gerade (wieder) dabei die Kommunikation, mit dir, einzustellen!

Dein Eingeständnis, deines Irrtums, ist ja mal ein positiver Aspekt, aus meiner Sicht.
Ich verzeihe dir diese Verwechselung.

combie:
OK, du beziehst dich hier auf ein von mir gelöschtes Posting...
Denn ich war gerade (wieder) dabei die Kommunikation, mit dir, einzustellen!
Dein Eingeständnis, deines Irrtums, ist ja mal ein positiver Aspekt, aus meiner Sicht.

ja, danke, so bin ich eben. 8)

Tja...
Jetzt hast du dein Posting ja auch schön editiert....

combie, es geht um die Aussagen von tommy56
a) das Verhalten if(2==true) -> false als Auswertung sei "inkonsistent"
und von dir
b) der Code if(bool(2)==true)--> true sei "somit falsch".

Hingegen sind beide Äußerungen falsch.

Dein richtig scheint meinem falsch zu entsprechen.
Und mein falsch habe ich in diesem und im anderen Thread begründet.
Mehr weiß ich dazu auch nicht zu sagen.....
Wenn du Fragen dazu hast, dann stelle sie!

Falls du anhand von C-Sprachdefinitionen nachweisen kannst, dass sie tatsächlich inkonsistent bzw. falsch sind, lasse ich mich gerne davon überzeugen.

Warum sollte ich das tun?
Mir ist (seit Jahrzehnten) völlig bewusst, dass dass formal richtig ist, auch das richtige tut.
Nirgendwo in diesen beiden Threads zweifle ich das an.
Das könne also auch evtl. eine Fehlinterpretation deinerseits sein...

Oder zeige mir, wo ich sage, das es formal falsch ist?

combie:
Neee... neee.... neee ....

Man lässt einfach den Vergleich weg!

if(i)
Und fertig ist die Laube.

Ein Vergleich auf false ist übrigens genauso Sinn befreit!

if(not i)


Merksatz:

Überflüssiger Kram ist eine völlig überflüssige Fehlerquelle.

combie:
Hier mal zum mit meißeln .....!

Frei nach "Ockhams Rasiermesser":

Wenn 2 Verfahren das gleiche Ergebnis bringen,
dann ist das einfachere, das Korrekte!

Und somit ist aus meiner Sicht if(bool(2)==true) definitiv ein Fehler.
Sowas sollte nicht in einem Forum, wo Anfänger ihre Kreise ziehen, empfohlen werden.
(es sei denn man möchte sie dumm halten, oder ins Messer laufen lassen)

Zumindest wird der Autor, hier du, die Kritik dann einstecken müssen.

Merksatz:

Irren ist menschlich.
Im Irrtum verharren ist Dummheit.

du hast es als Fehler bezeichnet, was bedeutet, dass es falsch ist was ich schreibe, und mir mein "im Irrtum Verharren" als Dummheit unterstellt - zusätzlich zu der Unterstellung, ich " möchte sie (die Anfänger hier im Forum) dumm halten" und "ins Messer laufen lassen".
Das Gegenteil ist der Fall:
Denn dabei ging es mir ausschließlich darum, aufzuzeigen, wie man einen == Vergleich mit einem Integer und einem Boolean-Wert richtig macht, sodass es nicht wie eingangs zitiert per
if(...==true) falsch ausgewertet wird

  • und es ging mir nicht darum, eine schöne oder unschöne oder komplizierte Alternative für die gängige Syntax zu präsentieren.
    Das habe ich MEHRFACH betont.
  • und es ging mir nicht darum, eine schöne oder unschöne oder komplizierte Alternative für die gängige Syntax zu präsentieren.
    Das habe ich MEHRFACH betont.

Schön, dass du weißt, worum es DIR geht.
Worum es anderen geht, scheint dich wohl nicht so sehr zu interessieren.....

Frei nach dem Motto:
Me first!

Weiter so und tschüs.

combie:
Schön, dass du weißt, worum es DIR geht.
Worum es anderen geht, scheint dich wohl nicht so sehr zu interessieren.....
Frei nach dem Motto:
Me first!
Weiter so und tschüs.

ohgottogott, merkst du noch was?
Sobald dir die Argumente ausgehen, geht's wieder weiter mit unsachlicher Spammerei und Trollerei.

"Weiter so und tschüs." - dem schließe ich mich an.