Månadsarkiv: mars 2017

Introducing Clojure

This blog post is also available on the Fortnox developer blog.

At work we have something called the ”Java forum” where we discuss Java and related technologies from time to time. A while ago I felt that I wanted to contribute with a beginners talk about Clojure for programmers. I’m no expert in the language but I know enough to present at least the fundamentals. So I signed up for a talk and went home to prepare a presentation.

What I came to realize in front of the computer was that it is pretty hard to present Clojure in like 20-30 minutes. To generalize a bit, I would say it is practically impossible to give a proper introduction to any language in that limited time. Clojure is particularly tricky in this sense; a LISP dialect with persistent data structures is pretty far from what Java or JavaScript programmers easily relate to.

I ended up changing my presentation material over and over again, excluding and including things back and forth, but in the end I think it turned out alright. I had to leave out sets, atoms and other cool stuff as there simply was no time to go wide or deep. Anyway, I figured that someone else out there might be interested in an example ”agenda” of how to introduce Clojure to developers in such a limited time frame, which is why I uploaded the material to a GitHub repo here. Each expression in the clj-file comes with comments and suggestions of what to say when evaluating them. I used the Light Table code editor during my presentation and that worked pretty well. With that editor you get a nice inline evaluation of your expressions, which is really handy while presenting.

I hope someone out there finds the material valuable in some way or another. Until next time!