Main Page | See live article | Alphabetical index

CamelCase

Bicapitalization or camel case, frequently applied to the term itself and written CamelCase, is the capitalization of more than one word within a compound word or multi-word symbolic name. This is also known as BumpyCase, StudlyCaps, and WikiWord.

Originating with a naming convention in the C programming language, it spread via hacker culture into mainstream use and became fashionable for corporate trade names during the popularization of the personal computer in the 1980s and 1990s. It is file name convention on Amiga computers. In the original version of the WikiWiki software, CamelCase is used for automatically making links.

Examples:

The following do not strictly qualify as bicapitalization, but are CamelCase for the purposes of the original version of the WikiWiki software: C and many later programming languages are case sensitive and allow symbolic names of arbitrary length, while not allowing these to contain whitespace (spaces, tabs, etc.), which can make longer symbols harder to read. One solution to this problem is to replace spaces with underscores, but these are difficult to type due to their location on the keyboard. The easier-to-type hyphen is already an operator in most programming languages.

Another solution is to use lower-case letters for most of the symbol, with upper-case at the starts of separate words. For instance, if one wanted to name a symbol "the colour of the bar", this would typically be camel cased as "TheColourOfTheBar". In lower camel case it would be "theColourOfTheBar". Coding standards, which many software developers adhere to, outline preferred uses of CamelCase for method names, [fields (computer science)|[fields] and properties.

CamelCase synonyms include:

Link: " class="external">http://c2.com/cgi/wiki?CamelCase

CamelCase and Wiki

CamelCase is also the original wiki convention for creating hyperlinks, with the additional requirement that the capitals are followed by a lower-case letter, hence AlabamA and ABc will not be links, see http://c2.com/cgi/wiki?WikiCase.

CamelCasedTerms are not useful for search engine spidering and indexing, as search engines cannot rank links based on individual words in the url describing that link. Having a word in the url generally rates a page as related to that word. Separating words out individually (by placing hyphens between words in local paths or in dns names; the underscore is not a valid character for dns names) addresses this. Removing case sensitivity from links also allows use of tools such as Apache's mod_speling, allowing easier guessing of urls by humans.

CamelCase and Wikipedia

Wikipedia started requiring CamelCase for links, but soon enabled and recommended free links, by putting [[square brackets]] around phrases to be linked, and a year later the automatic linking of CamelCase was disabled:

On January 27, 2001, Clifford Adams, author of the original UseMod software used for Wikipedia, posted the following to the Wikipedia mailing list:

I've done a lot of thinking about WikiLinking recently, and I'm not sure that the WikiName (capital letters) convention is a good fit for the encyclopedia. The AccidentalLinking is a nice feature, but it has a price in harder-to-read links and confusing conventions.

For instance, when I recently wanted to link to "democracy", I first did a search to see if someone else had linked the name (I thought someone might have already used "DemoCracy"). I found that nobody else had linked that name, so I made the link "DemocracY" (to follow the new convention of last-letter-capitalized). In short, it took me far more time to make that link than it would have to just type [[democracy]]. Someone unfamiliar with the local wiki conventions might guess otherwise on another page and link to a separate "DemoCracy" or even "DeMocracy". Ick.

To make a longish story short, I added code (about 150 new lines of Perl) to my development copy to allow (site-optional) "Free" linking within [[double brackets]]. You can use spaces, numbers, commas, dashes, and the period character in these kinds of links. Valid link names include [[George W. Bush]], [[China-Soviet Relations]], [[Physics]], [[music]], and [[Year 2000 bug]]. User names can also use these new links. Internally and within URLs the spaces are replaced with _ (underline) characters, which are translated back to spaces for display purposes.

Later, with the introduction of the new Wikipedia software in January 2002, support for CamelCase links was dropped altogether. By this time almost all CamelCase links in articles had been removed anyway. CamelCase can still be found in the non-encyclopedia parts of Wikipedia, such as Talk pages, where the links have not been updated. Many Wikipedians have CamelCased user names, either as a leftover from the early days, or carried over from other wikis.