O SO tem algumas perguntas usando a palavra "veracidade" para significar o valor verdadeiro de uma expressão, quando avaliada como booleana, independentemente do seu tipo original. É muito útil em linguagens dinâmicas.
Então, minha pergunta é: esse é um termo real e, se sim, usá-lo antes de Stephen Colbert torná-lo popular? Ou nós apenas adotamos depois? Nesse caso, qual é o termo correto com a definição que dei acima?
terminology
Tesserex
fonte
fonte
Respostas:
Há muito debate sobre a veracidade .
Merriam-Webster define como:
1: "verdade que vem do intestino, não dos livros" (Stephen Colbert, "The Colbert Report", da Comedy Central, outubro de 2005)
2: "a qualidade de preferir conceitos ou fatos que se deseja que sejam verdadeiros, em vez de conceitos ou fatos conhecidos como verdadeiros "(American Dialect Society, janeiro de 2006)
O Oxford Dictionaries Online o define como:
Ele foi usado um pouco na Usenet antes de Stephen Colbert, mas geralmente explicado assim que usado, como "a qualidade de declarar conceitos ou fatos que se deseja ou acredita que sejam verdadeiros, em vez de conceitos ou fatos conhecidos como verdadeiros".
Voltar à programação. Independentemente da origem, esse senso moderno de "verdade do intestino, mesmo que não seja verdadeira" é claramente incorreto na maioria das vezes ao discutir a lógica booleana e as tabelas de verdade: essa
if
afirmação é definitivamente verdadeira ewhile
até falsa(i > k)
. Meu pressentimento não entra nele.Se você está usando a veracidade na programação, provavelmente está usando o raro significado de veracidade do século XIX , e seria mais claro (e sem dúvida mais correto) usar a veracidade ou simplesmente a verdade .
Ngram :
Obviamente, o inglês muda conforme o uso muda, e algumas pessoas começaram a usar a verdade para significar verdade na programação. No entanto, eu desaconselharia a veracidade para evitar qualquer ambiguidade de significado ("verdade absoluta real" versus "meu instinto de verdade, independentemente dos fatos").
fonte
É um termo conhecido e aceitável dentro de certos círculos (por exemplo, comparações booleanas de JavaScript). Como tal, é um termo "real". Em virtude de ser usado, torna-se legítimo.
Todos esses termos vêm de algum lugar - eles não surgem no mundo totalmente formado e com significados estabelecidos (por exemplo - erros de software não tinham o significado que têm agora quando os computadores eletrônicos começaram a existir).
Se é aceito academicamente - isso é uma questão diferente. Até onde eu sei, não existe um termo formal para esse significado nebuloso de valores booleanos.
fonte
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.
Parece muito semelhante a erros de software modernos para mim.Considero verdade como um termo legítimo em uso na avaliação do JavaScript. O livro de Douglas Crockford sobre JavaScript - 'JavaScript the Good Parts' define os termos que o JavaScript 'se' avalia como verdadeiro como 'verdadeiro'. Igualmente, ele define os termos que o JavaScript avalia como falso como 'falso'. Ele também usa o termo para destacar a maneira como a avaliação '==' funciona em JavaScript (que é diferente da maneira que muitos usuários de JavaScript parecem acreditar que funciona).
De Os Elementos do Estilo JavaScript de Crockford
Nesse contexto, o termo é legítimo e útil.
Como uma ilustração adicional de verdadeiro e falso neste contexto, esses casos são ilustrativos.
fonte
[]
é avaliada a falso quando usado como um booleano, etc0
,None
,[]
e assim por diante.Veracidade tem sido uma palavra muito antes de Stephen Colbert usá-la. Eu poderia jurar que já vi isso em artigos de lógica / IA e também em alguns artigos de física, mas não consigo encontrar uma referência a uma que anteceda o programa de Stephen Colbert.
fonte
Veracidade é um termo legítimo e bem definido em Clojure, em que se refere à propriedade de um valor que é considerado verdadeiro em uma declaração condicional.
Portanto, a função condicional abaixo só será chamada se
value
for "verdadeira"Os únicos valores não verdadeiros são
false
enil
, todo o resto é considerado verdade.Acredito que a justificativa filosófica para isso é que
nil
pode ser entendida como "não existe", de modo que a declaração condicional é capaz de testar a existência de um valor.Muitas outras linguagens também têm um conceito semelhante de valores que serão considerados verdadeiros em um contexto condicional; portanto, em conclusão, eu argumentaria que sim, a veracidade deve ser considerada como um termo de programação legítimo quando usado dessa maneira.
fonte
"Verdade" é algo que eu entendo quando estou aprendendo um novo idioma, pois todos lidam com ele de maneira diferente. No meu primeiro idioma base do Perl, a string "0" é falsa. Em muitos idiomas, essa é uma sequência que possui conteúdo e, portanto, é verdadeira. Em alguns idiomas, a string vazia "" é falsa e, em alguns, é verdadeira.
Compreender as escolhas que os designers de linguagem fizeram sobre a verdade diz muito sobre o pensamento deles e começa a mergulhar no universo conceitual da linguagem.
Quer o tenhamos escrito como "veracidade" ou usado outro termo (acho que o cabeçalho desse capítulo no Camel Book é "O que é a verdade?"), Os programadores se preocuparam com os valores variáveis do absoluto chamado "verdadeiro e falso". muito antes de Colbert aparecer e apontar a inclinação do "verdadeiro" no discurso público.
fonte
Deixe-me perguntar: o que é um "termo real"?
Qualquer palavra que os humanos usem é "real" quando usada por várias pessoas, significando a (mais ou menos) a mesma coisa. Todos os idiomas estão em constante evolução, assim como o idioma do programador.
Por exemplo, em Ruby, a estrutura de teste rspec atualmente prefere em
xyz.should be_truthy
vez dexyz.should be_true
. Ou emxyz.should be_falsey
vez dexyz.should be_false
. Claro, em vez do último, eles poderiam ter escolhidoxyz.should be_wrong
. Mas eles não o fizeram, então também podemos perguntar se "falsidade" é um termo.Agora é Meio que. Pelo menos nas comunidades que usam esses termos. Não pergunte ao seu advogado ou médico. :)
Se você pretende perguntar "o público em geral sabe intuitivamente o que é a Verdade", a resposta provavelmente é "não".
fonte
Eu escrevi um sistema que determinaria a chance (matemática) de uma declaração booleana ser verdadeira, dados dados parciais. Ou seja, poderíamos determinar que havia 73% de chance de
X
ser verdade, se ainda não tivéssemos dados suficientes para estabelecer firmemente que X era verdade. "Verdade" seria uma maneira perfeitamente válida de descrever essa crença percentual em X.fonte