CamelCase

CamelCase

CamelCase, CamelCaps of InterCaps is de gewoonte (onder andere in de informatica) om samengestelde woorden of zinnen, waar de woorden normaliter met een spatie gescheiden worden, als één woord te schrijven door de spatie en de daarop volgende letter te vervangen door de corresponderende hoofdletter. Meer algemeen is het het gebruik van een hoofdletter in een woord tussen kleine letters.

De naam CamelCase verwijst, vanwege de midden in het samengestelde woord voorkomende hoofdletter(s), naar de bulten van een kameel. Het woord CamelCase wordt daarom als woord ingedeeld als zelfvervuller.

CamelCase is een standaardnaamgeving voor verschillende programmeertalen, en is modieus geworden in de marketing van producten en bedrijven. Daarbuiten wordt CamelCase echter zelden gebruikt, en zeker niet in formele geschreven teksten.

Er bestaan twee varianten:

  • beginnend met een hoofdletter, UpperCamelCase genoemd (CamelCaseTekstje, soms PascalCase genoemd)[1]
  • beginnend met een kleine letter, lowerCamelCase genoemd (camelCaseTekstje). Voorbeelden: iPad, eBay.

CamelCase wordt sinds lange tijd, weliswaar sporadisch, gebruikt, bijvoorbeeld in de spelling van Schotse achternamen, zoals McLean. Nederlanders die zich vestigden in Angelsaksische landen, veranderden hun naam in deJong of DeJong; een voorbeeld is Betsy DeVos, in 2017 aangesteld als minister van onderwijs in de VS. John DeLorean heeft echter een Roemeense achtergrond. Vanaf het begin van de 20e eeuw werd het al incidenteel gebruikt voor bedrijven en producten, zoals bij het projectiesysteem CinemaScope dat in de jaren vijftig werd geïntroduceerd.

Geschiedenis van de naam

[bewerken | brontekst bewerken]

De schrijfstijl had in eerste instantie geen formele naam. Het eerst bekende[bron?] voorkomen van InterCaps op Usenet was in april 1990 in een posting naar de groep alt.folklore.computers door Avi Rappoport.[2] De werkwoordsvorm BiCapitalized (zelfstandig naamwoord: BiCapitalization) verscheen iets later in een posting in 1991 door Eric S. Raymond aan dezelfde groep.[3]

Het oudste bericht binnen Usenet waarin de term CamelCase voorkomt, is gepubliceerd op 13 september 1995, overigens met een spatie, in een bericht naar onder meer comp.unix.advocacy door Newton Love.[4] Deze auteur gaf later aan de term al sinds enkele jaren voor dat bericht te gebruiken.

Al oud zijn namen van personen en bedrijven die beginnen met Mc, dat zonder spatie gevolgd wordt door een naam die begint met een hoofdletter, zoals McAfee en McDonald's.

Hieronder een aantal voorbeelden van CamelCase, vanaf de jaren 1969 tot 2000:

Het modeverschijnsel is in recente jaren zo sterk geworden dat het vaak onjuist wordt toegepast op namen die het camelCase niet officieel gebruiken, zoals in TransAmerica (Transamerica), FireFox (Firefox), UseNet (Usenet), TimeWarner (Time Warner, zelfs het nieuwste logo verschijnt in CamelCase), en GameBoy (Game Boy).

Toepassing bij softwareontwikkeling

[bewerken | brontekst bewerken]

Bij het programmeren wordt camelCase vaak toegepast in identifiers omdat die doorgaans geen spaties mogen bevatten. Door hoofdletters te gebruiken kan de programmeur de naam dan toch leesbaar houden. Vooral in de jaren zeventig en tachtig werden in plaats van camelCase vaak underscores gebruikt.

Sommige programmeertalen gebruiken camelCase in hun ingebouwde globale variabelen en functies. Zo heeft JavaScript bijvoorbeeld voorgeprogrammeerde methodes zoals toLowerCase en getElementById, en kent Object Pascal onder andere de event OnMouseWheelDown.

Ruby on Rails en Actionscript 3.0 hanteren UpperCamelCase voor classes om deze van modules (methods, functies) te onderscheiden. Dit is handig voor Rails om achter de schermen bestanden en databaseconnecties te automatiseren.

Het gebruik van camelCase kan wel met problemen gepaard gaan. Spellingcheckers veranderen vaak de eerste letter van een woord aan het begin van een zin in een hoofdletter. In het Nederlands is dit in overeenstemming met de spellingsregels: iPad wordt IPad aan het begin van een zin, maar vaak kan dit in een spellingscontrole worden uitgezet.