No, *not* StUDlY caPS.

Rather, one way that programmers make identifiers out of multi-word phrases. To wit: Capitalize the first letter of each word, and stick the whole thing together. Also known by the more boring name of BiCapitalization.

For example:

XCoordinate
PersonnelRecord
ThisIsAVeryLongIdentiferIndeed


CrazyCaps got their start with early programming languages that accepted lower case letters in identifiers, but not underscores. The most well-known of these languages is probably Pascal (yes, every known extension to Pascal allows underscores. The Honeywell Pascal compiler I learned on didn't).

There are several possible reasons why some programmers still like to use CrazyCaps for identifers:
  • Pascal is case-insensitive, and the consequences of getting the capitalization wrong later are far less than in case-sensitive languages (such as C or C++, where you rarely see the things).
  • The only company to make any amount of money selling Pascal compilers, Borland, has perpetuated the notion by eschewing underscores in the libraries accompanying its compilers.
  • They might think that underscores are icky, especially for very, very long indentifiers.