40

I keep second guessing myself on this one.

On one hand it seems like it should because the word Boolean is derived from the name of George Boole, the inventor of Boolean logic. However, the term as it is commonly used is not meant to imply something is like George Boole in any way.

I suppose the same question could be asked for any technical term that is named for its inventor, for example Cartesian coordinate systems (René Descartes).

So the titular question stands; should I capitalize Boolean when using it to refer to 2 state logic or variables in a computer program?

Clarification:
By "...or variables in a computer program..." I don't mean the actual code of a program. I meant in documentation that refers variables in a computer program.

For example "Implement a variable using the the Boolean data type for the particular programming language that you are using."

  • 15
    It seems to be a common phenomenon that, over time, adjectives associated with names become decaptialized. (For another mathematical example---after all, there are many---there are "Abelian groups", after Abel, but now "abelian" is almost never capitalized.) – Henry Oct 28 '10 at 16:27
  • 1
    or you could just say 'bool' – Midhat Oct 31 '10 at 17:24
  • 6
    Bool is not a word, it's a programming keyword. – JohnFx Oct 31 '10 at 20:47
  • 3
    @Henry: Note that Gaussian is almost always capitalised. I think ignorance of etymology explains the difference. – Charles Stewart Nov 2 '10 at 11:47
  • 5
    @PeterShor - I note that you capitalized "English." – gomad Nov 18 '11 at 16:47
21

Wikipedia capitalizes Boolean, as does Wiktionary (both as an adjective and as a noun). Merriam-Webster and the American Heritage Dictionary of the English Language capitalize the adjective and don't have an entry for the noun.

What Wiktionary does not capitalize is the noun bool. M-W and AHD don't have an entry for bool.

A search in the British National Corpus returns 94 cites for Boolean, but sadly only 50 randomly selected ones are displayed at a time, so I just hit "reload" a few times. The results that I got each time showed the following distribution:

Boolean 30 28 30 26
boolean 19 21 18 22
BOOLEAN  1  1  2  2

A search for bool did not return a single result.

  • Yes, bool is a C++ keyword derived from Boolean so is fine lowercase. – Hugo Sep 30 '11 at 9:15
  • 1
    @Hugo it's fine in a C++ code listing. It's not fine in English: it's not a word in English, any more than int is. – slim Jan 3 '12 at 17:00
  • @slim: Unless you're discussing C++ in English; int and bool are fine in some cases, integer and Boolean in other cases. – Hugo Jan 3 '12 at 17:36
  • 2
    "int" and "bool" are C/C++ keywords. That language family is case-sensitive, so capitalizing either would be incorrect. – T.E.D. Mar 19 '14 at 14:48
8

There are many scientific nouns and adjectives that derive from their inventor's name, and which are still capitalized even though they are widely used. Examples include:

  • the Gaussian function (or distribution)
  • Coulombic interactions
  • the Lagrangian and the Laplacian operators
  • the Ohmic dissipation
  • an Arrhenian behaviour (in chemistry)
  • the trans-Planckian problem

The notable exceptions are chemical elements, whose name are never capitalized (e.g., “the symbol of einsteinium is Es”), and units of measurement (“a current of two amperes”).

  • 3
    source, please? – Louis Rhys Apr 28 '11 at 15:42
  • 4
    RE units of measure: But isn't "Angstrom" routinely capitalized? – Jay Oct 12 '11 at 17:58
  • Every single one of those you listed is a title, it has nothing to do with the source being a person, rather they're capitalized because they are the titles of things. – Jimmy Hoffa Apr 17 '13 at 15:32
4

Capitalised Boolean for the two-state data items, lowercase bool for the C++ keyword derived from it.

Ngram

(Google Ngram)

Your example is correct:

"Implement a variable using the the Boolean data type for the particular programming language that you are using."

  • This is interesting, because in your example here you're referring to the Boolean data type, which is a title given to that data type, however a boolean in use is a noun and not a title, I guess the confusion here may be related to how most all things can be used as titles in their category. I could refer to the Keyboard human input device, or a keyboard. – Jimmy Hoffa Apr 17 '13 at 15:19
  • 1
    I don't think Boolean data type relates to a title for a data type. I could just as easily refer to an integer data type. // I wouldn't capitalise "the Keyboard human interface device" either, unless for some reason a manufacturer created a keyboard marketed as "Keyboard" but then that's not a generic device. – Hugo Apr 18 '13 at 12:30
  • Title, name, what have you, I would argue it definitely is. Data types do have specific names, this is true such that we programmers get to give them names. I can create a data type named HolyMoly, that would be capitalized as it's the name of that data type, however a variable of that data type would be a holymoly. A data type's name is capitalized as a name/title, a variable is not capitalized as it's a tangible thing. HolyMoly isn't an adjective of a data type any more than dog is an adjective of creature. Canis Lupus is the name of a type of creature, HolyMoly names a type of data. – Jimmy Hoffa Apr 18 '13 at 16:07
  • While we can ignore programming languages in defining the proper English grammar for these things, we can't ignore the semantic meanings known to programmers. To a programmer, a Boolean type is a type named Boolean, and a boolean is a variable of the Boolean type. This is what a programmer means when they're talking about these things, and these meanings are to be considered when thinking of proper English grammar for them. – Jimmy Hoffa Apr 18 '13 at 16:22
2

When programming, you refer to "a boolean variable," or "a bool"/"a boolean" for short.

When talking about the concept, I think it used to be Boolean logic, but boolean logic seems fine to me nowadays.

  • 6
    When writing about programming, as well as when writing about gardening, you should write “a Boolean variable” if you write in English. When you write code, you follow the language's rules (in C, it's a bool); in English, you do the same. – F'x Feb 22 '11 at 20:15
  • 3
    And this is pretty language-specific, as in French, we don't capitalize nouns and adjectives derived from persons' names: “une variable booléenne”. – F'x Feb 22 '11 at 20:16
2

The usual convention in mathematics is to capitalize adjectives derived from proper names, but there are a few exceptions. The only exceptions that come to mind just now are "cartesian" and "abelian" (and perhaps "noetherian", though I've also seen that capitalized quite often). We (mathematicians) generally capitalize "Boolean," "Gaussian," "Euclidean," "Diophantine," "Artinian," "Eulerian," "Hamiltonian," "Pfaffian," etc. (Note that this answer is specifically about mathematical usage; I make no claims here about general English.)

  • Righteous people also capitalize "Cartesian" and "Abelian" and "Noetherian". – bof Jul 30 '17 at 10:43
  • Does it make a difference whether, in turning a mathematician's name into an adjective, a suffix has been added? And if so, why? Am I correct in surmising that the people who call an Abelian group an abelian group would (probably) not call a Galois group a galois group? – bof Jul 30 '17 at 10:51
  • @bof I think you're right. The lower-case forms of names without a suffix seems even less common than the lower-case forms with suffixes. But I haven't paid much attention to that difference, so I'm just going by my impressions built up over the years. – Andreas Blass Jul 30 '17 at 15:07
0

It's "Boolean." You wouldn't call a political dystopia "orwellian," would you?

  • 11
    I don't declare orwell variables every day but if I did I might stop capitalizing it. – Jared Updike Oct 28 '10 at 22:05
  • 5
    But that's not the question. When declaring variables, you use the syntax of the language in question, not English syntax. When you're writing in English, you use English syntax. If you want to talk about programming languages, try StackOverflow. – gomad Oct 28 '10 at 22:15
  • 3
    Nah, it'll be nuked as off-topic. It belongs on programmers.SE. – bye Feb 22 '11 at 21:10
  • 4
    @JohnFx - it's like an int, but operator+ is overloaded so that 2+2 == 5 – gomad Nov 18 '11 at 16:44
  • 4
    @JohnFx: It's a variable type that can only hold values approved by the state. – Jay Jan 4 '12 at 16:27
0

George Boole published a book in 1847, The Mathematical Analysis of Logic, in which he discussed a mathematical treatment of a form of logic/algebra involving variables of only 2 states.

The term "Boolean algebra" for was first proposed in 1913 by someone else.

Similarly, the term "Boolean data type" for a type of computing variable "x" that can only have the values of True or False was derived from its association with Boole's work.

Specifically, in the 1930's, Claude Shannon applied Boolean algebra to the design of switching circuits, in a form he called "two-element switching algebra". As it happens, there are multiple possible forms of Boolean algebra; Shannon focused on the two-state algebra.

In time, the terms "Boolean algebra" and "Boolean logic" came to replace the term "two-element switching algebra" in the design of electrical, and then electronic circuits.

The origin of related terms such as "Boolean variable" is uncertain. However, I can think of no good reason to persist in calling the logic and the algebra "Boolean", but instead call the variables, terms, and results "boolean".

So, if one believes that the variables and other objects should be called "boolean", it seems they must also (by extension) be suggesting that the logic and algebra's names should also be "boolean". That hasn't happened, so it may be fair to suspect sloppiness in the capitalization, rather than deliberation.

  • 1
    I'm not suggesting anything. I am asking a question. – JohnFx Sep 27 '16 at 3:20
  • @JohFx Regrets; I had phrased the original answer in such a way that it addressed points made by some of the other answerers and commenters. I have edited the answer without reference to them (or you). – jaxter Sep 28 '16 at 3:22
-3

I can say without question, it is not capitalized unless referring to "Boolean logic" because that is the title of the logic defined by George Boole. In programming the capitalization in the language has nothing to do with the English recognition of it, a boolean in programming is a 'thing', thus a noun. Simple as that. It's not a title, and though it's derived from his works it refers in no way to George Boole. It is a thing.

The capitalization that happens in source code is only such due to the constraints made by the language, for instance: A language may capitalize it as Boolean, but if it does, it's a guarantee it also capitalizes Int or Integer, neither of which have any English reasons for capitalization whatsoever.

Capitalization inside of source code is a reference to the syntax and semantics of that programming language, and has no relationship to proper grammar in the English language.

  • I agree capitalisation of source code and programming languages is another matter, and we can disregard it here. The example in the question is in the English language, and is using Boolean as an adjective. What kind of data type? A Boolean data type. One pertaining to Boole or his work, or pertaining to something that is true/false (or 1/0). // If however a programming language happens to use the keyword Boolean (do any?) for the data type, and you want to refer to it in English, it can be appropriately formatted like I have and retain its capitalisation. // But of course English changes. – Hugo Apr 18 '13 at 12:43
  • @Hugo Java has Boolean as an object which contains a true or false value and boolean which is a primitive which contains a true or false value. They are different things used in different situations. See stackoverflow.com/questions/3728616/boolean-vs-boolean-in-java for more on this. – user40348 Apr 18 '13 at 16:27
  • @JimmyHoffa You are assuming that the term "boolean" is a noun, and that it only occurs in logic and in programming. It seems that you are ignoring (or ignorant of) the usage in computer circuit design, where "Boolean variable" is the established term. The purported noun "boolean", as in "a boolean", is jargon, and possibly slang; it is not the term taught in programming courses. In those courses, the term is "Boolean variable". – jaxter Sep 26 '16 at 23:29
-3

I believe that you are correct in your usage of capitalization in/for your example, given the context (where it is an adjective).

SIMPLY PUT, When used as an adjective, the word is "Boolean". Why?

  1. Because it references George Boole and his proposition of a two-state element in algebra AND
  2. Because it is being used as a PRONOUN, which are always capitalized in English AND
  3. Because it names a class of/for whichever/the noun [that] proceeds it , meaning it is an identifier i.e. a title and/or a name.

But, when/if used as a noun, either in reference to a single entity or in reference to multiple things (variables, conditionals, etc.), the singular form of the word is "boolean" and the plural form of the word is "booleans". Why? 1. Because it is a noun, which means it is lowercase. 2. Because it is not a title nor a name, which means it does not need special capitalization.

  • 4
    It is not a pronoun, and with the exception of "I", pronouns are not capitalized unless they are the first word in a sentence. – Cascabel Jul 29 '17 at 23:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.