GOTO Copenhagen 2012. Den krøllede hårpragt dansede, og fagterne føg gennem luften, da Clojure-opfinderen Rich Hickey leverede en veloplagt keynote tirsdag på udviklerkonferencen GOTO Copenhagen 2012.
Clojure er et nyere, funktionsorienteret programmeringssprog i familie med Lisp. Det kører blandt andet oven på Java’s virtuelle maskine og er designet for at løse nogle af problemerne med flertrådede programmer på moderne CPU'er.
Rich Hickeys ærinde var at forklare en af de største fordele ved funktionsorienterede sprog; at de baserer sig på uforanderlige værdier – han brugte betegnelserne ’facts’ eller ’values’.
I modsætning til for eksempel et objektorienteret sprog som Java, hvor objekter løbende kan få ændret værdier gennem metodekald, holder Clojure sig til, at værdier er uforanderlige.
»Rigtig hukommelse er associativ. Der er ikke nogen særlige telefonnummer-neuroner i din hjerne, som overskrives, hvis din ven får et nyt telefonnummer,« lød analogien fra Rich Hickey.
På den måde kan programmøren styre uden om en stribe ulykker, som kan være svære at fejlfinde, lyder filosofien.
Det gælder ikke mindst programmering af kode, som skal køre fejlfrit på af nutidens CPU'er med flere processorkerner. Den slags kan ellers give anledning til hovedbrud, fordi der let kan opstå synkroniseringsproblemer med foranderlige objekter i sprog som Java og C#.
Diskede op med fup-slide
Rich Hickey lagde ud med at prøve at tage fusen på publikum. Med et veltilrettelagt stone face begav han sig ud i at forklare, hvad et ’fact’ er i programmeringens verden.
I virkeligheden opremsede han en stribe egenskaber, som netop ikke gør sig gældende for funktionsorienterede sprog.
Efter en kunstpause kunne Rich Hickey løfte sløret:
»Hvor mange af jer føler sig ikke tilpas ved situationen lige nu? Det her er ikke, hvad et ’fact’ er,« sagde Rich Hickey.
Linjerne mellem ’facts’ – uforanderlige værdier – og ’places’ – et afgrænset sted i hukommelsen eller på disken, hvor man lagrer informationer eller objekter, som løbende kan ændres - blev trukket skarpt op i løbet af den times tid, keynote’en varede.
Konkrete ting som harddiske og hukommelse blev nævnt og vævet sammen med abstrakte betragtninger om menneskets hukommelse og den latinske betydning af ordet 'faktum'.
Rich Hickey erklærede dog til sidst, at hans foredrag ikke skulle ses som en total afskrivning af andre typer programmeringsparadigmer.
»Jeg er ikke ude på at bashe objektorienteret programmering generelt. De (udviklerne, red.) kan gå hjem og gøre det, de nu gør,« sagde han.
Dansk Java-udvikler: Clojure kan være ok
Sådan en af slagsen er den danske seniorkonsulent Thomas Arp, som i nogle tilfælde sagtens kan se meningen med sprog som Clojure.
Også selvom han til daglig specialiserer sig i Java-programmering for det norske konsulenthus Bekk.
»Prototyping og testing er oftest der, hvor vi vil tage det ind. Det kan for eksempel være i tilfælde, hvor kunden går med på at lave et proof-of-concept i et sprog som Scala eller Clojure,« siger Thomas Arp til Version2.
Hans største bekymring omkring sprog som Clojure er langtidsholdbarheden.
»Det handler om at kunne sikre vedligeholdbarhed over tid. Java forsvinder ikke sådan lige, og det betyder også, at kunderne rigtigt ofte stiller krav om, at en løsning skal udvikles i Java. Så nytter det ikke noget at insistere på at bruge Scala eller Clojure,« siger Thomas Arp til Version2.
Version2 er mediepartner på GOTO Copenhagen 2012, der finder sted 21.-23. maj.

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.
Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.
Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.
Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.