CamelCase (camel case,camel caps ormedial capitals) is the practice of writingcompound words orphrases so that each next word orabbreviation begins with acapital letter. CamelCase can either start with alowercase or uppercase letter, although the lowercase version is much more common inprogramming. Common examples arePowerPoint oriPhone.
There are many variations of CamelCase. A few important ones are:
|
The first use of medial capitals was the notation forchemical formulae invented by theSwedish chemistBerzelius in 1813. He did this to replace the many naming and symbol systems used bychemists at that time. He suggested to show each chemical element by a symbol of one or two letters, the first one being capitalized. The capitalization allowed formulae like 'NaCl' to be written without spaces and still be read without confusion. This system is still in use today.[16][17]
Since the early 20th century,medial capitals have occasionally been used forcorporate names and producttrademarks, such as
Despite its unclear origins inside the computing world, the practice spread in the 1980s and 1990s, when thepersonal computer became popular and exposedhacker culture to the world. CamelCase then became popular for business names. By 1990, it was very common to see CamelCase used in this way:
During the late 1990s when the internet became far more popular and easily available, the lowercaseprefixes "e" (for "electronic") and "i" (for "Internet",[21] "information", "interactive", "intelligent", etc.) became quite common, and we began to see names likeApple'siMac and theeBoxcomputer program.
The original name of the practice, used inmedia studies,grammars and theOxford English Dictionary, was "medial capitals". The fancier names such as "InterCaps", "CamelCase" and other variations are recent and seem more common in computer-related communities.
The earliest known occurrence of the term "InterCaps" onUsenet is in an April 1990 post to the groupalt.folklore.computers by Avi Rappoport,[5] with "BiCapitalization" appearing slightly later in a 1991 post byEric S. Raymond to the same group.[22] The earliest use of the name "CamelCase" occurs in 1995, in a post byNewton Love.[23] "With the advent of programming languages having these sorts of constructs, the humpiness of the style made me call it HumpyCase at first, before I settled on CamelCase. I had been calling it CamelCase for years," said Love, "The citation above was just the first time I had used the name on USENET."[24]
The use of medial caps foridentifiers is recommended by many organizations and software projects. For some languages (such asMesa,Pascal,Modula,Java andMicrosoft's.NET) CamelCase is recommended by the language developers or by importantmanuals and has therefore become part of the language's "culture".
Style guidelines often distinguish between upper and lower CamelCase. They usually specify which one should be used for certain kinds of things:variables,record fields,methods,procedures,types, etc. This is sometimes supported bystatic analysis tools that checksource code to make sure it is following these guidelines.
CamelCase is used in somewiki markup languages for terms that should be automatically linked to otherwiki pages. This convention was originally used inWard Cunningham's originalwiki software,WikiWikiWeb, and can be activated in most other wikis. Some wiki engines such asTiddlyWiki,Trac andPMWiki use it in the default settings. They also usually provide an option orplugin to disable it.Wikipedia used to use CamelCase linking. However, they have switched to explicit link markup usingsquare brackets and many other wiki sites have done the same. Some wikis that do not use CamelCase linking may still use the CamelCase as a naming convention, such asAboutUs.
TheNIEM registry requires thatXML data elements use upper CamelCase and XML attributes use lower CamelCase.
Most popularcommand-line interfaces andscripting languages usually can't handle file names that contain embedded spaces. Because of this, users of those systems often use CamelCase (or underscores, hyphens and other "safe" characters) for compound file names likeMyJobResume.pdf.
Microblogging andsocial networking sites that limit the number of characters in a message (most famouslyTwitter, where the 140-character limit can be quite restrictive in languages that rely on alphabets, including English) are usually outlets for medial capitals. Using CamelCase between words reduces the number of spaces, and thus the number of characters in a given message. This allows more content to fit into the limited space.
CamelCase has been used in languages other than English for several purposes. Some examples are:
CamelCase is sometimes used in the writing or translation of certain scripts as a way to tell the difference between certain letters or markings. An example is the rendering ofTibetan proper names likerLobsang: the "r" here stands for aprefixglyph in the original script that functions astone marker rather than a normal letter. Another example istsIurku, a Latin transcription of theChechen term for the capping stone of the characteristicMedieval defensive towers ofChechenia andIngushetia; the capital letter "I" here showing aphoneme different from the one transcribed as "i".
CamelCase may also be used when writing proper names in languages that add prefixes to words. In some of those languages, the custom is to leave the prefix in lower case and capitalize the root.
This convention is used inIrish orthography e.g.,i nGaillimh ("inGalway"), fromGaillimh ("Galway");go hÉireann ("toIreland"), fromÉire ("Ireland).
Similarly, when translating theHebrew language,haIvri means "the Hebrew person" andbiYerushalayim means "in Jerusalem".
This convention is also used by severalBantu languages (e.g.,kiSwahili = "Swahili language",isiZulu = "Zulu language") and several indigenouslanguages of Mexico (e.g.Nahuatl,Totonacan,Mixe–Zoque and someOto-Manguean languages).
Abbreviations of some academic qualifications are sometimes presented in CamelCase without punctuation, e.g.PhD orBSc.
In French, CamelCase acronyms such asOuLiPo (1960) were favored for a time as alternatives toinitialisms (or representingcompound words only by the first letter of each word).
CamelCase is often used to transliterateinitialisms into alphabets where two letters may be required to represent a single character of the original alphabet, e.g.,DShK fromCyrillic ДШК and PPSh from Cyrillic ППШ.
InChinese pinyin, CamelCase is sometimes used for place names so that it is easier for readers to pick out the different parts of the word. For example, places likeBeijing (北京) andQinhuangdao (秦皇岛) andDaxing'anling (大兴安岭) can be written asBeiJing,QinHuangDao, andDaXingAnLing, with the number of capital letters being the same as the number ofChinese characters for each word. Writing word compounds only by the initial letter of each character is also acceptable in some cases, so Beijing can be written asBJ, Qinghuangdao asQHD, and Daxing'anling asDXAL.
In several languages, including English,pronouns andpossessives may be capitalized to show respect. For example: when referring to the reader of a formal letter or toGod. In some of those languages, the capitalization is retained even when those words occur within compound words orsuffixed to a verb. For example, in Italian one would writeporgendoLe distinti saluti ("offering to You respectful salutations") oradorarLo ("adore Him").
In German nouns carry agrammatical gender—which, for roles or job titles, is usually masculine. Since thefeminist movement of the 1980s, some writers and publishers have been using the feminine title suffixes-in (singular) and-innen (plural) to help boost the inclusion of women; but written with a capital 'I', to indicate that males are not excluded. Example:MitarbeiterInnen ("co-workers, male or female") instead ofMitarbeiter ("co-workers", masculine grammatical gender) orMitarbeiterinnen ("female co-workers"). This use isanalogous to the use ofparentheses in English, for example in the phrase "congress(wo)man."
In German, the names ofstatutes are shortened using embedded capitals. An example would be: StGB (Strafgesetzbuch) for criminal code, PatG (Patentgesetz) for Patent Act or the very common GmbH (Gesellschaft mit beschränkter Haftung) forCompany with Limited Liability.