Skip to content

Latest commit

 

History

History
27 lines (21 loc) · 1.33 KB

clojure.md

File metadata and controls

27 lines (21 loc) · 1.33 KB

Looking for more resources? See Clojure Camp Handbook

Learning Clojure

  • re: editor/IDE, use VSCode + Calva (unless you are already comfortable with emacs or vim)

Even if you already know how to program, Clojure may poses a few unique challenges (highlighted below), depending on where you’re coming from.

  • learning the syntax and developing a mental model of the Clojure interpreter
    • basic things: defining, using functions; making bindings
    • new things: using macros (ex. →), writing macros
  • functional programming, in the small
    • ex. “how to sum a list without a mutable variable”, etc.
    • using FP functions (map, reduce, etc.), anonymous functions, higher-order fns (ex. middleware), closures
  • becoming aware of all the functions in clojure’s standard library
    • …and libraries in the Clojure community
  • learning to manipulate code comfortably in your editor
    • ie. becoming comfortable with paredit or parinfer
  • learning to adopt the “REPL-driven workflow”
    • evaluating code partials in your editor
      • (vs. making a change, re-running an entire script)
  • functional programming, in the large
    • ie. how to architect a full application with minimal state

…with the goal of eventually doing all these things “idiomatically”, ie, “the way most experienced Clojure devs .