Resources and suggestions from the Boston Clojure Group for how to learn Clojure
- 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?)
- Build a website with some web framework (ring, compojure, pedestal, etc)
- Give a talk on your local Clojure Group meetup
- Online videos (see list below)
- Conferences
- Clojure/conj
- Clojure/west
- EuroClojure
- StrangeLoop
- Poly Conf
- Contributing to open source projects
- LightTable
- Incanter
- how about a list of easier projects people can contribute to?
- Github search on open clojure(script) issues with label 'helpwanted'
- Github search on open clojure(script) issues with label 'newbie'
- Take part in https://clojurecup.com/
- Work at a Clojure shop (TODO paste in Boston list)
- Mentor someone to become Clojure programmer
- 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.
- 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.
- Clojure Programming - Chas Emerick et. al.
- Joy of Clojure - very in depth about Protocols
- Clojure In Action
- Java Concurrency in Practice (About java but explains the problems Clojure is solving)
- Mastering Clojure Macros
- Web Development with Clojure
- Clojure Web Development Essentials
- Mastering Clojure Data Analysis
- Clojure Data Analytics Cookbook
- Clojure for Machine Learning
- SICP - theory of programming (CS textbook, written for Scheme)
- The Little Schemer (only ~50 pages, thinking recursively in Scheme)
- The Reasoned Schemer (miniKanren and logic programming in Scheme)
- On Lisp (thinking in Lisp and macrology)
- Simple Made Easy - Rich Hickey
- Are We There Yet - Rich Hickey
- SICP Video Lectures - Hal Abelson and Gerald Jay Sussman
- The Value of Values - Rich Hickey
- Implementation details of core.async Channels - Rich Hickey
- Designing Front End Applications with core.async - David Nolen
- Inside Transducers - Rich Hickey
- #Clojure
- ClojureTV
- Clojure Werkz
- Arcadia - Clojure in Unity
- Clojure Toolbox
- https://crossclj.info
- Beginner Web REPL
- Clojure MOOC
- http://www.lisperati.com/clojure-spels/casting.html
- Using Emacs with Clojure
- Light Table interactive ClojureScript tutorial
- ClojureScript 101 - using core.async to build search for image from wiki
- om tutorial
- Learn Datalog Today - Datalog tutorial (something you might heard of when looking into Datomic/Datascript)
- http://clojurekoans.com/
- http://clojurescriptkoans.com/
- http://www.4clojure.com/problems
- http://exercism.io (great site but the problem set is language-universal and some of them are un-idiomatic in a functional language)
- http://www.codewars.com/
- https://www.codingame.com/home
- Emacs (cider , company-mode, auto-complete, smartparens ) (spacemacs?) Aquamacs!
- Vim (fireplace, vim-leiningen, paredit, rainbow-parentheses)
- IntelliJ (Cursive)
- Eclipse (Counterclockwise)
- Light Table
- Sublime Text (+ paredit & lisp-indent)
- Textmate
- Atom - clojure mode, paredit, nrepl-eval, emacs bindings
- figwheel - lein plugin to enable livereload experience (blogpost with demo)
- datascript - Immutable database and Datalog query engine in ClojureScript
- om/reagent/quiescent/rum
- chestnut
- devcards
- usual Jar deployment workflows
- docker-clojure
- Better Living Through Clojure - MIT IAP 2015 Presentation
- Clojure IRC Channel #clojure log
- ClojureScript IRC Channel #clojurescript logs
- Clojure Google Group
- ClojureScript Google Group
- Clojure Users on LinkedIn
- Clojure Subreddit
- Clojure Gazette - Newsletter by Eric Normand
- Clojure Destructuring - Jay Fields
- Top Clojure Articles article
- Awesome Clojure
- Learn Clojure
- Clojure stuff by @mindreframer
- [ClojureScript](- http://cljs.info/cheatsheet/)
- Clojure
- Paredit
- 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 Meetup - Usually the 3rd Thursday of every month at Akamai, Kendall Sq.
- Boston Clojure Group Google Group
- Boston Clojure Group Github
- Boston Clojure Group Hashtag: #bosclj