Java tiene
intyIntegerbooleanyBoolean
Esto parece un poco inconsistente, ¿por qué no?
boolvsBooleanpara usar un nombre más corto establecido para el tipo primitivo?
o
integervsIntegerpara mantener los nombres de tipo consistentes?
Creo que C ++ había decidido usar boolun poco antes de lo que Java decidió usar boolean, y tal vez también algunas extensiones C (¿no estándar en ese momento?), Por lo que habría tenido una precedencia histórica bool. Me he dado cuenta de que a menudo intento usar instintivamente boolal principio (algo bueno, los editores modernos inmediatamente detectan esto sin una ronda de compilación adicional), por lo que sería bueno saber la razón detrás del estado actual de las cosas.
Si alguien recuerda (una parte de) la historia, o incluso puede encontrar y vincularse a una discusión histórica relevante en la red, sería genial.

booleanes definitivamente más explícito quebool. Prefiero preguntar por quéintno se llamainteger. Mi conjetura:intychardónde estaba demasiado arraigado para ser cambiadointegerycharacter, peroboolaún no estaba completamente establecido.booltipo se introdujo en C ++ en 1993. Java se incluyóbooleanen su primer lanzamiento en 1995, pero el proyecto Java se inició en 1991. Sin encontrar más fuentes de información, no me queda claro qué vino primero, o qué influencia (si alguna) tuvieron entre sí.booleantipo. (Oak luego fue renombrado a Java). Eso empuja las fechas aún más cerca, aunque todavía no veo evidencia definitiva que muestre precedencia o influencia en ninguna dirección.doubleyDoubletambién.Respuestas:
Sin entrar en contacto con personas que realmente estuvieron involucradas en estas decisiones de diseño, creo que es poco probable que encontremos una respuesta definitiva. Sin embargo, en base a los plazos del desarrollo de Java y C ++, conjeturaría que
booleanse eligió Java antes, o al mismo tiempo, la introducciónboola C ++, y ciertamente antesboolse usó ampliamente. Es posible quebooleanse haya elegido debido a su larga historia de uso (como en álgebra booleana), o para que coincida con otros idiomas (como Pascal) que ya tenían unbooleantipo.Contexto histórico
Según Evolving a language in and for the real world: C ++ 1991-2006 , el
booltipo se introdujo en C ++ en 1993.Java incluido
booleanen su primer lanzamiento en 1995 ( Java Language Specification 1.0 ). La primera especificación de lenguaje que puedo encontrar es la especificación Oak 0.2 ( luego se cambió el nombre de Oak a Java ). Esa especificación de Oak está marcada como "Copyright 1994", pero el proyecto en sí se inició en 1991 y aparentemente tuvo una demostración en funcionamiento para el verano de 1992 .fuente
En realidad, Java es más preciso para la historia aquí. La teoría de los valores verdaderos y falsos fue inventada por George Boole y comúnmente se conoce como álgebra booleana en su honor.
booles realmente solo un atajo para evitar un nombre más largo, sin embargo, dado el soporte de autocompletado de IDEs modernos, esto ya no es una razón válida (y ni siquiera fue en los días en que Java decidió hacerloboolean).No he sido parte del proceso de decisión para Java, pero si a alguien le importa la historia, entonces "álgebra booleana" es la precedencia histórica relevante, y uno podría cuestionar la decisión de C / C ++ sobre por qué mutilaron el nombre de Boole cortando el
e.fuente
creat().intdebería serinteger?Booleanes un poco mal, teniendo en cuenta que puede tener 3 valores (Boolean.FALSE,Boolean.TRUE,null) ... punto que se encuentre, la programación de los símbolos del lenguaje y las palabras reservadas son siempre un compromiso de varios factores, y la precisión histórica es probablemente bastante bajo en esa lista.null.No puedo abordar el problema de coherencia, pero hay una larga historia aquí.
Por lo que recuerdo, Algol 60 fue el primer idioma en referirse a sus tipos lógicos como 'booleano'. Algol 60 también tenía tipos como 'entero', 'procedimiento', etc.
Llegó Algol 68, y las abreviaturas parecían estar de moda: 'bool', 'int', 'proc', etc.
Entonces, los diseñadores de idiomas pueden elegir el estilo que quieran, y hay un precedente para ello.
fuente