Skip to content
AgileLogics
5 min read

What You Should Know Now — and What's Next

What You Should Know Now

  • Reading Clojure's syntax and working in a REPL
  • Immutable values, vectors, lists, maps, and sets
  • Functions, closures, destructuring, and higher-order functions
  • Sequences, laziness, the sequence library, and transducers
  • Threading macros and data-oriented design with plain maps
  • Namespaces, error handling with ex-info, and Java interop
  • Atoms, refs, agents, futures, promises, and delays
  • Protocols, records, and multimethods
  • Macros, core.async, and clojure.spec
  • Projects with deps.edn and Leiningen, testing, and performance
  • Web services with Ring, databases with next.jdbc, ClojureScript, and Babashka

What Should You Learn Next?

  • Java — Java is Clojure's host; knowing the JDK and the JVM helps with interop, performance, and deployment.
  • Common Lisp — Lisp to see where Clojure's ideas — macros, the REPL, code as data — came from.
  • Haskell — Haskell for a strictly typed take on functional programming.
  • Scala — Scala, the other big functional language on the JVM, with a static type system.
  • JavaScript — JavaScript if you plan to write ClojureScript and use npm libraries.

Build Something

Pick a problem with real data — your finances, a hobby, an API you use — and build a tool around it at the REPL: load the data, explore it, write the functions, then wrap them in a small web service or a Babashka script. Share it, and read the source of libraries you use; Clojure code bases are small enough to learn from.