Clojure learning resources
Table of Contents
Clojure is a fascinating language and learning it has presented an intellectual challenge I haven't experienced in a long time. I guess trying to wrap my head around all the various declensions and forms in Attic Greek was the last thing that challenged me this much.
As I'm learning Clojure, I'm finding all kinds of awesome resources for learning, tools for building and testing, etc. Here's what I'm finding:
For most of the tools on here, if you follow the GitHub repos back to the user that owns the repo, they usually have other cool Clojure tools they build. Just a general observation about the Clojure community.
1. Learnings
- Clojure home - There's a ton of good stuff here, like the rationale behind the design and explanations of the best features of Clojure.
- Clojure.github.io - The core Clojure documentation. Useful for looking up functions and such.
- Clojuredoc - Community written Clojure documentation and articles
- Clojure Koans - Learn Clojure with Koans
- When you get stuck, use these YouTube videos to help you.
- 4Clojure - Solve simple problems to stretch your Clojure skills
- CodeSchool - they have a couple screencasts on Clojure
- Clojure 101 - Learn Clojure by making games
- SICP in Clojure - The Structure and Interpretation of Computer Languages, in Clojure
2. Frameworks and tools for making stuff
- Speclj - A full-featured testing suit for Clojure. Pronounced "speckle".
- Luminus - Web micro-framework
- Pedestal - Powerful webapp framework
- Friend - Authentication library for Clojure webapps. Yay.
- Ring - Webapp library and middleware
- Clostache - Mustache templating system for Clojure
- C2 - Clojure(Script) Visualization
- Korma - Beautiful SQL for Clojure
- Enlive - CSS selecting and screen scraping with Clojure
3. Dev Tools
- Serialize-fn - Makes it easier to read function representations at the REPL
- Vim-Fireplace - For using the REPL from vim. Cool.
- Leiningen - For automating Clojure projects. Always use this.
- Drake - Like "make" or "rake" but for data analytics/processing, built with Clojure
- Cascalog - a fully-featured data processing and querying library for Clojure or Java. Mainly for Hadoop.
- Drip - Fast JVM launching! Finally!
- Clojopts - Run terminal commands from Clojure
- Conch - Also run terminal commands from Clojure
- Cake - A build tool for Clojure. Kinda like an alternative to Leiningen, I think.
- sdb - Clojure library for working with Amazon Simple DB
- Marginalia - Automattic documentation generator for your code.
4. Stuff for Science
- Incanter - R-like statistical computing in Clojure.
- Clojuratica - Clojure + Mathematica = Orgasm