Clojure er en Lisp-dialekt som kjører på JVM-en (i tillegg til CLR-en og JavaScript). Det er et dynamisk og kompilert programmeringsspråk som er designet for å integrere tett med sin host-plattform. Til tross for dette er Clojure primært et funksjonellt programmeringsspråk med persistente datastrukturer og et standard-API som er spesielt god egnet for parallelisering.

Våre anbefalinger

The Joy of Clojure
Anbefalt av Alf Kristian

Dette er ingen intro bok om Clojure, dette er en bok for de som vil lære litt mer. I tillegg til et dypdykk i språket, lærer man om generell funksjonell programmering. Kan anbefales for alle som føler det er forbi begynnerstadiet i FP, enten det gjelder Clojure eller andre spåk.

Clojure Applied
Anbefalt av André

Dette er ikke en ‘Lær Clojure’ bok, men gir en hel tips og forslag til hvordan benytte Clojure på en bra og fornuftig måte. Jeg leste denne boken etter mitt første Clojure/ClojureScript prosjekt. Det hadde selvfølgelig vært nyttig å ha lest boken før prosjektet, men jeg er ikke sikker om alt hadde gitt så mye mening som nå etter at jeg har følt noen av problemstillingene på kroppen. Uansett en bok jeg varmt vil anbefale.

Simple made Easy
Anbefalt av Robin

Rich Hickey, skaperen av Clojure, forklarer hva han mener er den absolutt viktigste egenskapen for at programmer skal være lett å videreutvikle over tid. Dette foredraget satte ord på ting jeg selv syntes var vanskelig innenfor systemutvikling, og har endret hvordan jeg selv utvikler programvare.

Simple Made Easy
Anbefalt av Kristian

Rich Hickey, som har skrevet språket Clojure, forklarer her forskjellen på «Simple» og «Easy». Hovedbudskapet er at mange velger «Easy», men istedet ender opp i en jungel av kompleksitet. Det optimale er da å kombinere «Easy» og «Simple»

Våre foredrag

Det finnes et utall plattformer for å lage webapplikasjoner; så hvorfor skal du vurdere Clojure? Fordi det gir deg enklere løsninger, raskere utvikling og færre feil. Ta sjansen til å bli kjent med et språk som vil forandre måten du tenker på.

På Javazone 2014, snakket Alf Kristian om Clojure sine makroer. Det ble et dypdykk inn i en av Clojure sine kraftigste features

Hovedverktøyet til programmerere er programmeringsspråket. Likevel velge vi sjeldent det beste riktige verktøyet for å løse oppgavene. Denne presentasjonen fokuserer på hvor viktig det er å velge riktig programmeringsspråk.

Mange misliker Lisp på grunn av annerledes syntaks. Men når man forstår hvorfor syntaksen er som den er, så blir språket vakkert!

Clojure - JVM språket som er "multi-core ready"

En introduksjonspresentasjon om Clojure, som går igjennom språkets oppbygning og filosofi. Forklarer også hvorfor Clojure er et bedre rustet språk for fremtiden enn andre.

Funksjonell Programmering på JVM

Presentasjon fra JavaZone 2010. Hovedsaklig en presentasjon av arbeidet Eivind gjorde med master-oppgaven. Snakker om forskjellige aspekter ved funksjonell programmering og hvordan man oppnår dette med forskjellige språk på JVM.

Våre screencasts

A pinch of Clojure love to Light Table

Screencast som demonstrerer kule features i min Light Table refactoring plugin

Clojure refactoring in Light Table

Screencast som demonstrerer litt av min Light Table refactoring plugin

Våre sideprosjekter

Leiningen

Leiningen er et veldig populært byggeverktøy for prosjekter skrevet i Clojure og ClojureScript. Jean Niklas har bidratt til prosjektet siden 2012 og var hovedansvarlig fra 2015 til 2017. I disse dager er prosjektet mer eller mindre “fullført”, og det er kun bugfikser og mindre kodeendringer på agendaen.

Light Table

Etter å ha vært en ivrig bruker av Light Table i 1,5 år, bestemte Magnus meg sommeren 2015 til å ta steget opp å joine opensource teamet til Light Table for å forsøke å gjenopplive prosjektet. Det er nok å ta tak i for å si det sånn !

Cashflow
Av Odin

Nettbanken min har ingen regnskapsfunksjon. Så det lager Odin på egen hånd, i Clojure.

Vår fri programvare

  • Cashflow - Regnskap for nettbanktransaksjoner
  • Clj-Light-Refactor - Plugin som gir Clojure refactoring support til Light Table
  • Differ - Et Clojure bibliotek for å beskrive forskjellen på to datastrukturer, og evt. bruke den beskrivelsen for å ‘patche’ en datastruktur.
  • Inlein - Verktøy for å skripte Clojureprogrammer med avhengigheter
  • clj-xchart - Clojure-wrapper rundt Javabiblioteket XChart, for å lage forskjellige type grafer
  • flare - Et verktøy som forbedrer rapportering av feilende tester for Clojure.
  • jiffy - Port av Java Time til Clojurescript
  • rewrite-cljs - ClojureScript port av rewrite-clj. Bibliotek for traversering og omskriving av Clojure/ClojureScript/EDN- kode
  • rubberlike - Et verktøy for å enkelt spinne opp embedded ElasticSearch servere
  • Vi har også bidratt til Clojure, buddy-auth, clj-time, datomic-type-extensions, hugsql, midje og stubadub

Våre blogginnlegg

Rømme fra parantesene
Av Finn

Clojure, og lisp har en forbannelse; parantesene skremmer bort folk

(((bø(((((((((((( 😱)))))))))hoho))))))

Dette blir en kort post, men la oss se på litt kode som gjør det mer behagelig å skrive og å lese kode i Clojure.

En Clojure-funksjon til å bli glad av

Det er mye å glede seg over i Clojure: pure functions, immutability, og REPL, for å nevne noen store ting. I dag skal vi heller se på to bittesmå, men svært nyttige funksjoner.

Dumme klienter

Dette ser ut til å ha blitt et kåseri om data og dumme klienter. Ikke dumme oppdragsgivere, altså, men noen veldig dumme web-klienter.

Spør oss om Clojure

Magnus

Ronny

Alf Kristian

Anders

Odin

André

Eivind

Jean Niklas

Kristian

Finn

Trygve

Robin

Stian

Stein Tore

Fredrik

Olga