Java tem
int
eInteger
boolean
eBoolean
Isso parece um pouco inconsistente, por que não
bool
vsBoolean
para usar um nome mais curto estabelecido para o tipo primitivo?
ou
integer
vsInteger
para manter os nomes dos tipos consistentes?
Eu acho que o C ++ decidiu usar bool
um pouco mais cedo do que o Java decidiu usar boolean
, e talvez também algumas extensões C (não-padrão na época?) Também, então haveria precedência histórica para bool
. Percebi que muitas vezes instintivamente tento usar bool
no início (o bom é que os editores modernos imediatamente percebem isso sem uma rodada extra de compilação), então seria bom conhecer a lógica por trás do estado atual das coisas.
Se alguém se lembra (faz parte) da história, ou pode até encontrar e vincular uma discussão histórica relevante na rede, isso seria ótimo.
boolean
é definitivamente mais explícito quebool
. Prefiro perguntar por queint
não é chamadointeger
. Meu palpite:int
echar
onde muito arraigado para ser alterado parainteger
echaracter
, masbool
ainda não estava totalmente estabelecido.bool
tipo foi introduzido no C ++ em 1993. O Java foi incluídoboolean
em seu primeiro lançamento em 1995, mas o próprio projeto Java foi iniciado em 1991. Sem encontrar outras fontes de informações, não está claro para mim o que veio primeiro ou que (se houver) influência que eles tiveram um sobre o outro.boolean
tipo. (Oak foi posteriormente renomeado para Java). Isso leva as datas ainda mais perto, embora ainda não exista evidência definida para mostrar precedência ou influência em qualquer direção.double
eDouble
também.Respostas:
Sem entrar em contato com pessoas que realmente estavam envolvidas nessas decisões de design, acho improvável que encontremos uma resposta definitiva. No entanto, com base nas linhas de tempo do desenvolvimento de Java e C ++, eu conjeturava que o Java
boolean
foi escolhido antes ou contemporaneamente à introduçãobool
ao C ++ e certamente antesbool
era amplamente utilizado. É possível que tenhaboolean
sido escolhido devido ao seu histórico de uso mais longo (como na Álgebra Booleana) ou para corresponder a outros idiomas (como o Pascal) que já tinham umboolean
tipo.Contexto histórico
De acordo com Evoluindo uma linguagem no e para o mundo real: C ++ 1991-2006 , o
bool
tipo foi introduzido no C ++ em 1993.O Java foi incluído
boolean
em seu primeiro lançamento em 1995 ( Java Language Specification 1.0 ). A especificação de linguagem mais antiga que posso encontrar é a especificação Oak 0.2 (o Oak foi renomeado para Java ). Essa especificação do Oak está marcada como "Copyright 1994", mas o projeto em si foi iniciado em 1991 e, aparentemente, teve uma demonstração de trabalho no verão de 1992 .fonte
Na verdade, o Java é mais preciso na história aqui. A teoria dos valores verdadeiros e falsos foi inventada por George Boole e é comumente referida como Álgebra Booleana em sua homenagem.
bool
é realmente apenas um atalho para evitar um nome mais longo, no entanto, dado o suporte de preenchimento automático de IDEs modernos, esse não é mais um motivo válido (e nem estava nos dias em que o Java decidiu usarboolean
).Eu não participei do processo de decisão do Java, mas se alguém se importa com a história, então "álgebra booleana" é a precedência histórica relevante e é possível questionar a decisão do C / C ++ sobre por que eles mutilaram o nome de Boole cortando o
e
.fonte
creat()
.int
deveria serinteger
?Boolean
é uma espécie de mal, considerando que pode ter 3 valores (Boolean.FALSE
,Boolean.TRUE
,null
) ... Ponto de ser, programação símbolos da linguagem e palavras reservadas são sempre um compromisso de vários fatores, e precisão histórica é provavelmente muito baixo nessa lista.null
.Não consigo resolver o problema de consistência, mas há uma longa história aqui.
Tanto quanto me lembro, o Algol 60 foi o primeiro idioma a se referir a seus tipos lógicos como 'booleano'. O Algol 60 também tinha tipos como 'número inteiro', 'procedimento' etc.
A seguir, veio Algol 68, e as abreviações pareciam estar em voga: 'bool', 'int', 'proc' etc.
Assim, os designers de idiomas podem escolher o estilo que quiserem, e há um precedente para isso.
fonte