My clojure page is 7 years old; it's time for an update. I'll keep the old page as a reference.
There's already an official guide for getting started. Here is just my opinionated clojure setup.
for usage can read Clojure for the Brave and True
babashka and friends
read the book to learn more about babashka.
I have a project skeleton for quick start. It is created by another babashka friend: neil
neil handles setup for dependencies, build(uberjar), tests and nrepl.
reference: New Clojure project quickstart
editor and repl
repl-driven development means connecting your editor to the repl, not opening the repl and typing on it. Setting up your editor and the REPL is crucial.
I'm using emacs with cider, but it's easy to setup for other editors.
before I had questions such as "why doesn't clojure have pattern matching?" or "where can I find a library that implements the actor model?"
I recently found the answer after watching Simple Made Easy again:
I believe this table is important; it represents the thinking behind Clojure
Tutorials often discuss map, filter, and reduce as important functional concepts. However, I believe the following are also important:
- Destructuring in Clojure
- Datatypes: deftype, defrecord and reify
- Multimethods and Hierarchies
I highly recommend a book that differs from others, starting not with map/filter but
defrecord: Clojure Applied