M - x MM z

Clojure(Script) Learning Guide

After experimenting with Clojure(Script) for years, a colleague asked me to share some 'getting started' links. Without further ado:

Running Clojure

Start with a working setup by following the official Getting Started page.

Documentation

I keep coming back to a lot of materials on the official websites of:

Of course there's already a lot of helpful 'getting started' material out there:

I also want to highlight this post that explains how the classic design patterns translate into Clojure: Clojure Design Patterns

Must Read

Once you get used to working in a REPL, you can't go back to slower feedback cycles. Therefore, I consider Programming at the REPL mandatory reading.

Books

If you like reading books and you don't have Lisp programming experience, I'd recommend these books to get a good start:

Sometimes you only need some good examples to solve a problem at hand. That's where these reference books can help a lot:

A nice online book is: Clojure for the Brave and True. For ClojureScript you might like the online book: Transforming Data with ClojureScript.

Other Clojure books I've enjoyed reading:

For the more advanced Lisp / Clojure programmers, I recommend:

Some 'special topic' Clojure books:

Courses

These Clojure courses will give you a good start, and in some cases a good deep dive:

Some Datomic courses:

Online Practice

Some online practice sites:

One of the things I highly recommend is to install Replete REPL App on your phone or mobile device. That's a really lightweight way of experimenting with Clojure(Script). I've learned a lot on it and sometimes use it to spike some ideas ... or even write a Maze Generator in it while I'm on vacation.

Replete also has an online version. As an (easy to remember) alternative there's also an online REPL at Repl.it

Some interactive 'notebooks' can be found here:

Talks

A lot of people are drawn to Clojure by the talks of Rich Hickey. His talks are gathered on ClojureTV, in the Rich Hickey Talks playlist. I recommend every software developer to watch these talks, no matter what language you prefer.

Some other talks I want to highlight:

Some of my favorite talks by other speakers than Rich Hickey, Stuart Halloway or David Nolen:

Some applications of Clojure that also inspired me:

Tools

The best place to look for the right tool for the job is The Clojure Toolbox. I still want to highlight some essential tools I've often used. Think of them as Clojure hammers and screwdrivers; in nearly every job they are useful:

Clojure covers frontend -, backend -, and bash work, but did you know it also covers Unity3D and Machine learning?

Some helpful code quality tools:

Conferences

Some conferences I've attended or want to attend:

Since this list is very Europe centered, I suggest you take a look at the 'ultimate list of functional programming conferences' to get an idea what functional - and Clojure conferences are organised everywhere around the globe.

Podcasts

If you're the type of person that likes to learn about Clojure(Script) while cooking, cleaning the house, or sitting on the couch with a nice drink, you might like these podcasts:

These podcasts are less Clojure(Script) specific, and more about software engineering in general:

News

Some Clojure newsletters:

Of course there is also a lot of blogging going on in our friendly Clojure community. The best way to get connected is to keep an eye on the Planet Clojure meta blog.

Other Getting Started Guides

Missing

Although we've covered a lot of ground in this post, there are definitely still some 'missing links'. In addition, over time there will probably be broken links. If you find a broken link or think a valuable link should be added, please contact me on twitter

I'm also very interested in good books about Babashka and Datomic. These are still missing from my library, so if you know where to find them, please let me know.

This website is cookie-, advertisement -, and user tracking free to give you the best reading experience. It would be great to know if this post was useful to you. Let me know what you think on twitter

I wish you a meaningful and fulfilling Clojure(Script) journey!