The Ultimate Guide to Learning Clojure for Free
Summary: There are many great resources out there for learning Clojure. Some resources are paid, but fortunately, many of the best resources are absolutely free.
Are you interested in learning Clojure? Would you like to start without risking your money on a book? Is there something that can help you even know whether you want to learn Clojure?
Well, yes.
I learned Clojure for free. I'm a bit of a cheapskate. For many years, I avoided spending money if there was a free alternative. I also keep an eye on resources that pop up around the internet.
I have assembled what I believe to be the best resources to start with if you want to get into Clojure but wish to spend $0.
Beginner
Start here if you have never programmed in Clojure before.
Reading
This Clojure tutorial takes you from zero to writing an interactive game.
This is an impressive, interactive, and fun introduction to Clojure. Give it a shot.
An online book for learning Clojure.
A fun and adventurous guide through the Clojure journey.
A direct approach to bringing more people to the Clojure community. The style of this book is straightforward and approachable.
Exercises
For beginners, these two exercise sets will give you plenty of practice with the details of the language.
Exercises you can do right in your browser.
Exercises you do with git and an editor on your local machine.
Installation
I have written a guide for the three main operating systems (Mac, Linux, and Windows).
Documentation
An organized list of built-in Clojure functions and macros.
A documentation site with user-contributed examples.
Workshops and Events
ClojureBridge hosts free workshops around the world to encourage diversity in the Clojure community. Go to one if you can.
There are many groups on Meetup.com that are interested in Clojure and functional programming. Find one in your area and get in touch.
Online Community
People chatting in a variety of Clojure-related topics. Very friendly.
A Clojure-focused discourse forum. Very lively and friendly.
The official Question & Answer site of Clojure. Ask questions, get answers.
Ask questions on stackoverflow. They are usually answered very quickly.
Videos
A great high-level introduction to the philosophy behind Clojure.
- [Poetry of Programming](https://www.youtube.com/watch?v=CjdVNCQ7YHA&list=PLI-mrGTUXmHXeKhy6UGdDxIKwM8L4MTbq
Attila Egri-Nagy's series of videos on Clojure. There's also a book to go along with the course. This is geared toward liberal arts students and begins very theoretically. If you like that, give it a try.
Kelvin Mai's video is a great introduction to Clojure.
A fun way to learn Clojure by writing a zombie game.
Deployment
Fly.io gives you a free credit to deploy your Clojure app.
Online REPLs
Intermediate
Once you've got the basics and need to go deeper.
Exercises
Once you're writing Clojure code, do these exercises and get comments on your style.
These exercises are not Clojure-specific. They are small problems but are usually tricky enough to require deep thinking. I cut my Clojure teeth on Project Euler before other systems existed.
Documentation
The official documentation.
A searchable community documentation project.
Community
Clojure discussion group. This contains everything from announcements of new library releases to beginners asking questions.
Editors
At this point, you may want to think about dedicating some time to learning a different editor.
Calva is a Clojure plugin for Visual Studio Code. It's a great way to edit Clojure. It comes with Clojure LSP and REPL support.
An Emacs plugin called CIDER is the most popular way to use Emacs with Clojure. It gives you lots of functionality.
Many people use vim, so if you like it, here's a setup guide.
If you like Java-style IDEs, Cursive is for you. There's a free, personal license available. Cursive brings a lot of the smarts from IntelliJ IDEA to Clojure, including automatic refactoring, code completion, a debugger, and more.
Conclusions
There is a ton of value in these free resources. But if you'd like to venture into something tailored for bringing you up to speed in Clojure from nothing to writing code and you want to pay for a premium resource, check out my Clojure courses.