Fabulous Adventures In Coding
Eric Lippert is a principal developer on the C# compiler team. Learn more about Eric.
I was writing the text for some new error messages for the expression tree library the other day. When I ran them past our user education specialists (that is, the people who will be writing the documentation to explain the error messages), one of them pointed out that “Boolean” is an eponym -- a word named after a person -- and therefore should be capitalized.
And indeed, she was correct. Boolean logic is named after its inventor, George Boole (1815-1864).
That got me thinking, which often leads to trouble.
English writers do not usually capitalize the eponyms “shrapnel” (Henry Shrapnel, 1761-1842), “diesel” (Rudolf Diesel, 1858-1913), “saxophone” (Adolphe Sax, 1814-1894), “baud” (Emile Baudot, 1845-1903), “ampere” (Andre Ampere, 1775-1836), “chauvinist” (Nicolas Chauvin, 1790-?), “nicotine” (Jean Nicot, 1530-1600) or “teddy bear” (Theodore Roosevelt, 1858-1916).
However, we do capitalize “Darwinian evolution”, “Victorian morality”, “Elizabethan plays”, “Dickensian stories”, “Machiavellian politicians” and “Orwellian surveillance”, so perhaps we should capitalize “Boolean logic”.
I think the actual guideline to follow here is that we capitalize eponyms only if they are adjectives. Once they become nouns, we quickly stop capitalizing them.
Of course, that then doesn’t explain why we do not capitalize “caesarian section” or “draconian measures”. Expecting that much consistency from English is asking rather too much.
There's also the approach that suggests this logic be followed only when deciding in the absense of established custom. What do other exceptions (if any) and documentation (if any) state? As a company, has Microsoft established any guideline (eg, does FxCop enforce one)? The industry?
I've seen a fair mix, no doubt due to people sometimes realizing the history of the word, and sometimes not. I'm not sure the people who use it as uncapitalized jargon care too greatly one way or the other, but people like myself would sure like consistency.
I think you're mistaken here. It's based on a longstanding mathematical tradition. To express the deepest honor for a mathematician, you use lowercase adjectives derived from their name. See the section "A note on typography" at the bottom of http://en.wikipedia.org/wiki/Abelian_group.
I was about to correct you that "ampere", lowercase, is simply incorrect. However, upon looking for a reference to that effect, I found http://www.bipm.org/en/si/si_brochure/chapter5/5-2.html. Apparently, the international organization responsible for the SI system says you should write unit names with an initial lowercase letter. (Note that this does *not* apply to the second word of multi-word unit name, so degrees Celsius.)
In other words, it turns out that "Ampere" with a capital is simply incorrect.
Re "caesarian section". It is not named after Julius Caesar or any other member of Caesar family. Most likely it was named after *a* caesar -- word that became the title of the roman ruler.
Re “draconian measures”. Most people perceive this as being "measures of a dragon" not derived from a given name.
So the rule is pretty clear actually. If a name is used as an adjective *and* the meaning of the adjective is "of this person" [logic of Bool, age (and morality) of Victoria etc.] then it should be capitalized.
Excepting Machiavelli (who isn't to be trusted) the rule is clear: capitalize the English.
!dragons, Marvin. http://en.wikipedia.org/wiki/Draco
I think the word gets to go lowercase once the word itself has become more popular than its maker.
I vote for lowercase boolean even though I use VB.NET and not usually C#.
Sue, read carefully what I wrote: "[m]ost people perceive". Very few people are aware of the real origin of the name.
The same trend now works with the Boolean. I would bet that the proportion of people who know this word but never heard of Bool is pretty high. For them boolean probably sounds as derived from some Latin root they don't know.
why do we never refer to Crappy code?
Because "crap" is not and never has been an eponym. "Crap" first appeared in written English in the fifteenth century, and referred to the chaff part of a plant, or a weed, or the leftover residue of rendering. Worthless garbage, in short.
The more modern use, to mean defecation (as a verb) or excrement (as a noun), dates from the mid 19th century. It has never been capitalized in modern English.
it's a false eponym - 'crap' was supposedly derived from Thomas Crapper, who popularised flush toilets, but as you rightly say it was widely used before this.
Capitalization should always be used for this type of eponym that is actually a reference to a person. Boolean logic is the logic of George Boole. This might be clearer if we called it Boole’s logic, but the principle is the same: George himself is being mentioned so it should be capitalized. By contrast, an ampere is not Ampere’s unit of current, it is a unit named after the eponymous Ampere.
Personally, I take exception to the accepted usage. I think an attribution like Boolean should not be called an eponym like ampere.
Eric and petal -- interesting stuff. Should we then infer that Thomas Crapper acquired his surname from an ancestor who was a crapper, someone who separated out the crap in agriculture or rendering? That would be a curious coincidence indeed, given that Crapper went on to popularize a device that did more or less the same thing for people.
> English writers do not usually capitalize the eponyms “salmonella” (Daniel Salmon...
One minor nitpick--
"Salmonella" is usually, and should be, capitalized because it is a genus name, and all genera in binomial "Genus species" descriptions are capitalized. I am having trouble finding many references, other than your blog post, where Salmonella is not correctly capitalized.
I know it's a bit late, but it's a common myth that Thomas Crapper invented the flush toilet. He did not. Flushing toilets had been around for centuries before Thomas came along.