SO hat einige Fragen, bei denen das Wort "Wahrhaftigkeit" den Wahrheitswert eines Ausdrucks bedeutet, wenn er als Boolescher Wert bewertet wird, unabhängig von seinem ursprünglichen Typ. Es ist sehr nützlich in dynamischen Sprachen.
Meine Frage ist also, ist dies ein realer Begriff, und wenn ja, haben wir ihn verwendet, bevor Stephen Colbert ihn populär gemacht hat? Oder haben wir es einfach später übernommen? Was ist in diesem Fall der richtige Begriff mit der Definition, die ich oben gegeben habe?
terminology
Tesserex
quelle
quelle
Antworten:
Es gibt viele Debatten über die Wahrhaftigkeit .
Merriam-Webster definiert es als:
1: "Wahrheit, die aus dem Bauch kommt, nicht aus Büchern" (Stephen Colbert, "The Colbert Report" von Comedy Central, Oktober 2005)
2: "Die Qualität, Konzepte oder Fakten zu bevorzugen, die man wahr sein möchte, anstatt Konzepte oder Fakten, von denen bekannt ist, dass sie wahr sind "(American Dialect Society, Januar 2006)
Oxford Dictionaries Online definiert es als:
Es wurde ein wenig auf verwendet Usenet vor Stephen Colbert, aber in der Regel erklärt, sobald verwendet, wie „die Qualität der besagt , Konzepte oder Tatsachen eine Wunsch oder glaubt , um wahr zu sein, eher als Konzepte oder Tatsachen bekannt um wahr zu sein“.
Zurück zur Programmierung. Unabhängig von der Herkunft ist dieses moderne Gefühl von "Wahrheit aus dem Bauch heraus, auch wenn es nicht wahr ist" die meiste Zeit eindeutig falsch, wenn es um boolesche Logik und Wahrheitstabellen geht: Diese
if
Aussage ist definitiv wahr, und diesewhile
Aussage ist bis dahin falsch(i > k)
. Mein Bauchgefühl kommt nicht hinein.Wenn Sie mit Truthiness in der Programmierung, höchstwahrscheinlich verwenden Sie die seltene 19. Jahrhundert von Bedeutung Wahrhaftigkeit , und es wäre sowohl klarer (und wohl mehr richtig) zu verwenden , Wahrhaftigkeit oder einfach die Wahrheit .
Ngram :
Natürlich ändert sich Englisch als Nutzungsänderungen, und einige Leute haben begonnen zu verwenden , Truthiness auf mittlere Wahrheit in der Programmierung. Allerdings würde ich abraten Truthiness jede Zweideutigkeit von Bedeutung zu vermeiden ( „real absolute Wahrheit“ vs. „mein Bauchgefühl der Wahrheit, unabhängig von den Fakten“).
quelle
Dieser Begriff ist in bestimmten Kreisen bekannt und akzeptabel (z. B. boolesche JavaScript-Vergleiche). Als solches ist es ein "echter" Begriff. Durch die Verwendung wird es legitim.
Alle diese Begriffe kommen von irgendwoher - sie tauchen nicht vollständig und mit einer etablierten Bedeutung in der Welt auf (zum Beispiel hatten Softwarefehler nicht die Bedeutung, die sie jetzt hatten, als elektronische Computer gerade erst existierten).
Ob es akademisch akzeptiert wird - das ist eine andere Sache. Soweit ich weiß, gibt es keinen formalen Begriff für diese unscharfe Bedeutung von Booleschen Werten.
quelle
It has been just so in all of my inventions. The first step is an intuition, and comes with a burst, then difficulties arise—this thing gives out and [it is] then that 'Bugs' — as such little faults and difficulties are called—show themselves and months of intense watching, study and labor are requisite before commercial success or failure is certainly reached.
Klingt für mich sehr ähnlich zu modernen Softwarefehlern.Ich betrachte Wahrheit als einen legitimen Begriff, der bei der JavaScript-Evaluierung verwendet wird. Douglas Crockfords Buch über JavaScript - 'JavaScript the Good Parts' definiert die Begriffe, die JavaScript 'if' als wahr als 'wahr' bewertet. Ebenso definiert er die Begriffe, die JavaScript als falsch auswertet, als "falsch". Er verwendet den Begriff auch, um die Funktionsweise der '==' - Auswertung in JavaScript hervorzuheben (was sich von der Art und Weise unterscheidet, wie viele JavaScript-Benutzer zu glauben scheinen, dass dies funktioniert).
Aus Crockfords The Elements of JavaScript Style
In diesem Zusammenhang ist der Begriff sowohl legitim als auch nützlich.
Zur weiteren Veranschaulichung von wahr und falsch in diesem Zusammenhang sind diese Fälle veranschaulichend.
quelle
[]
wird als falsch bewertet, wenn es als Boolescher0
,None
,[]
, und so weiter.Wahrhaftigkeit war ein Wort, lange bevor Stephen Colbert es benutzt hat. Ich könnte schwören, dass ich es in Logik- / KI-Papieren und auch in einigen Physik-Papieren gesehen habe, aber ich kann anscheinend keinen Hinweis auf einen finden, der vor Stephen Colberts Show liegt.
quelle
Wahrhaftigkeit ist ein legitimer und genau definierter Begriff in Clojure, der sich auf die Eigenschaft eines Wertes bezieht, der in einer bedingten Aussage als wahr angesehen wird.
Die folgende bedingte Funktion wird also nur aufgerufen, wenn sie
value
"wahr" ist.Die einzigen nicht wahrheitsgemäßen Werte sind
false
undnil
, alles andere wird als wahrheitsgemäß angesehen.Ich glaube, die philosophische Rechtfertigung dafür ist, dass
nil
"nicht existiert" verstanden werden kann, so dass die bedingte Aussage in der Lage ist, die Existenz eines Wertes zu testen.Viele andere Sprachen haben ebenfalls ein ähnliches Wertekonzept, das in einem bedingten Kontext als wahr angesehen wird. Abschließend würde ich argumentieren, dass Wahrhaftigkeit als legitimer Programmierbegriff angesehen werden sollte, wenn sie auf diese Weise verwendet wird.
quelle
"Wahrhaftigkeit" ist etwas, das ich verstehe, wenn ich eine neue Sprache aufgreife, da sie alle unterschiedlich damit umgehen. In meiner Muttersprache Perl ist die Zeichenfolge "0" falsch. In vielen Sprachen ist dies eine Zeichenfolge, die Inhalt hat und daher wahr ist. In einigen Sprachen ist die leere Zeichenfolge "" falsch und in einigen ist sie wahr.
Das Verständnis der Entscheidungen, die die Sprachdesigner in Bezug auf Wahrhaftigkeit getroffen haben, sagt viel über ihr Denken aus und beginnt, Sie in das konzeptuelle Universum der Sprache einzutauchen.
Unabhängig davon, ob wir es "Wahrhaftigkeit" buchstabierten oder einen anderen Begriff verwendeten (ich denke, die Überschrift für dieses Kapitel im Kamelbuch lautet "Was ist Wahrheit?"), Hatten Programmierer unterschiedliche Werte der absoluten Sache namens "wahr und falsch" im Griff. lange bevor Colbert kam und auf die Verbiegung von "wahr" im öffentlichen Diskurs hinwies.
quelle
Lassen Sie mich zurück fragen: Was ist ein "richtiger Begriff"?
Jedes Wort, das Menschen verwenden, ist "echt", wenn es von mehreren Personen verwendet wird, was (mehr oder weniger) dasselbe bedeutet. Alle Sprachen entwickeln sich ständig weiter, ebenso die Sprache des Programmierers.
In Ruby beispielsweise wird heutzutage das rspec-Testframework
xyz.should be_truthy
anstelle von bevorzugtxyz.should be_true
. Oderxyz.should be_falsey
stattxyz.should be_false
. Anstelle von letzterem hätten sie natürlich wählen könnenxyz.should be_wrong
. Aber sie haben es nicht getan, also können wir auch fragen, ob "Falschheit" ein Begriff ist.Jetzt ist es. Art aus. Zumindest in den Gemeinden, die diese Begriffe verwenden. Fragen Sie nicht Ihren Anwalt oder Arzt. :) :)
Wenn Sie fragen sollen: "Weiß die breite Öffentlichkeit intuitiv, was Wahrhaftigkeit ist?", Lautet die Antwort wahrscheinlich "Nein".
quelle
Ich habe ein System geschrieben, das die (mathematische) Wahrscheinlichkeit bestimmt, dass eine boolesche Aussage bei Teildaten wahr ist. Das heißt, wir könnten feststellen, dass die Wahrscheinlichkeit
X
, wahr zu sein, bei 73% liegt, wenn wir noch nicht genügend Daten haben, um fest zu bestätigen, dass X wahr ist. "Wahrhaftigkeit" wäre ein absolut gültiger Weg, um einen solchen prozentualen Glauben an X zu beschreiben.quelle