Take the 2-minute tour ×

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?

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."

share|improve this question
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
or you could just say 'bool' –  Midhat Oct 31 '10 at 17:24
Bool is not a word, it's a programming keyword. –  JohnFx Oct 31 '10 at 20:47
@Henry: Note that Gaussian is almost always capitalised. I think ignorance of etymology explains the difference. –  Charles Stewart Nov 2 '10 at 11:47
@PeterShor - I note that you capitalized "English." –  gomad Nov 18 '11 at 16:47

6 Answers 6

up vote 15 down vote accepted

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.

share|improve this answer
Yes, bool is a C++ keyword derived from Boolean so is fine lowercase. –  Hugo Sep 30 '11 at 9:15
@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
"int" and "bool" are C/C++ keywords. That language family is case-sensitive, so capitalizing either would be incorrect. –  T.E.D. Mar 19 at 14:48

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”).

share|improve this answer
source, please? –  Louis Rhys Apr 28 '11 at 15:42
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

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.

share|improve this answer
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
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

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


(Google Ngram)

Your example is correct:


share|improve this answer
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
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

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

share|improve this answer
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
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
Nah, it'll be nuked as off-topic. It belongs on programmers.SE. –  bye Feb 22 '11 at 21:10
@JohnFx - it's like an int, but operator+ is overloaded so that 2+2 == 5 –  gomad Nov 18 '11 at 16:44
@JohnFx: It's a variable type that can only hold values approved by the state. –  Jay Jan 4 '12 at 16:27

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.

share|improve this answer
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. –  MichaelT Apr 18 '13 at 16:27

Your Answer


