Du bruker tegnet hver dag, men vet du hvorfor?

Den tilfeldige historien til krøllparantesen. 💡

Krøllebarten er populær i programmering, men hvordan ble det egentlig sånn? 📸: Ole Petter Baugerød Stokke
Krøllebarten er populær i programmering, men hvordan ble det egentlig sånn? 📸: Ole Petter Baugerød StokkeVis mer

Hei, utvikler! Du vet den snurrete krøllebarten { du har skrevet cirka ti tusen av denne uka? Den du bruker til å pakke inn alle funksjoner og objekter, vet du.

Har du noen gang tenkt på hvorfor den blir brukt i programmering?

Ikke vi heller, egentlig.

Det vil si, inntil nylig, når vi ble sittende og stusse over hvorfor akkurat dette tegnet, som gjemmer seg bak en overdrevet kronglete tastekombinasjon av «Alt Gr»- og syv-knappen, endte opp som et av de vanligste tegnene i moderne programmeringsspråk.

Øl-krøller

Vi kaller den for krøllebart på kode24-kontoret, men hva heter egentlig tegnet, sånn på ordentlig?

Ifølge norske Wikipedia er krøllebarten en del av parantes-familien, og skal omtales som klammeparantes, krøllparantes eller sløyfeparantes.

Den bør heller ikke forveksles med hakeparantes, som er tegnet du bruker i array-sammenheng, eller vinkelparantes, som brukes blant annet til HTML-tagger.

Beveger vi oss ut i internasjonalt farvann blir det fort mer komplisert. Engelske Wikipedia lister nemlig hele 19 forskjellige navn på krøllparantes. Fra den normale curly brackets og curly braces, til kuriositeter som twirly brackets, fancy brackets, moustache brackets, gullwings og snodige Scottish brackets.

En annen interessant variant kommer fra våre ølglade venner i sør. Danskene kaller nemlig krøllparantes for Tuborg-klammer. Visstnok fordi Tuborg-lastebiler i gamle dager hadde en slags paraply-aktig hatt over førerhuset, som kunne minne om krøllparantes - hvis man la godviljen til.

Opprinnelsen

Ifølge engelsk Wikipedia har faktisk ikke krøllparanteser noen formell funksjon i grammatikk, og brukes sjelden i tekster. I de fleste tilfeller blir de brukt hvis andre parantes-tegn allerede er brukt opp.

En annen ting som er verdt å merke seg, er at tegnet sjelden brukes i samme størrelse som andre bokstaver, tall og tegn. Krøllparantesen brukes gjerne høyre eller venstrestilt ved siden av et avsnitt for å betegne en gruppe.

Krøllparantes har historisk blitt brukt for å beskrive en gruppe av setninger i grammatikk. 📸: Public Domain / Wikipedia
Krøllparantes har historisk blitt brukt for å beskrive en gruppe av setninger i grammatikk. 📸: Public Domain / Wikipedia Vis mer

I en diskusjon på nettstedet Stackexchange påstår brukeren Hugo at en av de eldste forekomstene av tegnet er i fremmedordboken Glossographia, skrevet av briten Thomas Blout i 1656. Der brukes ordet til å kombinere forklaringen på to fremmedord.

Tegnet har også historisk blitt brukt i musikknotasjon. Der brukes det for å betegne når to noter skal spilles samtidig.

I følge nettstedet korrekturavdelingen.no brukes tegnet «ofte i matematisk sammenheng for å lage et tydelig hierarki av parenteser (for å gjøre det klarere hva som hører sammen), for eksempel: {2+[5*(3+2)]} = {2+[5*5]} = 2».

Hvorfor i koding?

I 1969 satt ingeniørene Ken Thompson og Dennis Ritchie på et kontor hos Bell Labs, stedet hvor transistoren hadde blitt oppfunnet noen år før, og tenkte så det knakte. De var i ferd med å skape programmeringsspråket B, en arvtager til språket BCPL - Basic Combined Programming Language.

Et artig trekk ved BCPL var at man brukte symbolene $( og $) for å definere kodeblokker. Tidligere språk brukte ofte begrepet GOTO etterfulgt av linjenummeret man skulle hoppe til.

GLOBAL $(
	COUNT: 200
	ALL: 201
$)

Da Ken Thompson skulle implementere $( og $) fra BCPL i B, tittet han visstnok ned på tastaturet sitt og oppdaget et par nye tegn.

Tastaturet Ken Thompson brukte da han skrev språket B. 📸: CC BY-SA 4.0 / Wikipedia
Tastaturet Ken Thompson brukte da han skrev språket B. 📸: CC BY-SA 4.0 / Wikipedia Vis mer

Hans nyinnkjøpte Teletype Model 37 hadde nemlig fått et par nye tegn, for krølleparantes, og Thompson bestemte seg for å bruke dem i språket sitt. Kollegaen hans Dennis Ritchie tok ideen videre da han skulle skrive en utvidelse av B noen år senere, som han kalte C.

I dag er krøllparanteser i bruk i så og si alle store programmeringsspråk. Fra Java til Ruby, Perl, PHP, C++, C#, Go, Rust og selvsagt JavaScript.

Alle disse språkene har lånt stilen fra språket C, ofte referert til som et «C-Style»-språk.

Så hvorfor bruker vi alle krøllparantes den dag i dag? Rett og slett på grunn av en flott og fjong nyvinning, på tastaturet til en kar på 60-tallet.