Skip to content

Resources and suggestions from the Boston Clojure Group for how to learn Clojure

Notifications You must be signed in to change notification settings

boston-clojure/learning-clojure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 

Repository files navigation

learning-clojure

Resources and suggestions from the Boston Clojure Group for how to learn Clojure

Curriculum

Beginner

  • Environment Setup: Java, Leiningen, IDE (optional) or use Try Clojure
  • Koans to get a taste of Clojure (low barrier of entry, can try in small chunks, free)
  • Setup your favorite text editor for a Clojure dev workflow, particularly including the inline help functionality
  • Book or tutorial, one of:
    • (easy) Clojure for the brave and true (online tutorial)
    • (easy) Living Clojure
    • (mid) Clojure Programming
  • Do
    • Easy 4clojure problems or clojure katas
    • Come to the Boston Clojure Group (or local one)
    • Get a Clojure mentor (how?)

Advanced

Expert

Teacher's Notes

  • Consider not mentioning the L-word.
  • Clojure's contempt for the comma is inspirational.
  • Begin with the value syntax leaving symbols and lists for last.
  • Tell them Clojure values are immutable like Java String if they know Java.
  • Bring stickers.

Books

Beginner Books

  • Programming Clojure - Stuart Holloway
  • Clojure for the brave and true
    • Not yet finished, but good/easy read for people who don't have much of programming background.
  • Living Clojure
    • Living Clojure starts out with a well-written beginner introduction to Clojure, covering basic syntax and core type and functions in a clear and easy to understand form. After the gentle intro however, there's a fairly abrupt jump to advanced topics including concurrency types, macros, multimethods and protocols. The second half of the book is a list of learning resources plus a curriculum sequence of problems meant to gradually build Clojure proficiency.
  • Clojure from the ground up - good for people new to programming
  • ClojureScript: Up and Running
    • in case you're interested in cljs specifically. Bootstrap environment & get basics of clojure.

Expert Books

Special Domain

General Lisp thinking

Videos

Libraries

Tutorials

Problem sites

Clojure Documentation

Build / Dependency Tools

Editors and IDEs

Testing

ClojureScript

Clojure in Production

  • usual Jar deployment workflows
  • docker-clojure

Alternative platforms

Clojure-inspired / transpilers

  • wisp (JavaScript Lisp)
  • Hy (Python Lisp)

Clojure Presentations

Clojure Online Forums / Sites / Newsletters

Single Topic Posts

Meta-lists

Cheatsheets

Common Beginner Hurdles

  • Environment setup (Cider and Leiningen helped me)
  • So many parens!! (But not so many as other LISPs!)
  • Immutable everything
  • Writing loops
  • Contrib library got reorganized
  • there needs to be a resource to help solve command line bullshittery
  • Emacs C-x M-c M- 16-fingers bullshittery
  • Doubt about the usefulness of LISP (stereotype about it being a dead language used only for AI) I think this is totally dated - the grad students and other younger people I work with know nothing about this. Put another way, it's irrelvant.

Boston Clojure Group Resources

About

Resources and suggestions from the Boston Clojure Group for how to learn Clojure

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published