views:

13854

answers:

17

I'm interested in learning Clojure. The Getting Started page on Clojure.net is pretty minimal. Is there a good language introduction or tutorial out there? Which would you recommend?

Answer: I have watched the videos on youtube called Intro to Clojure. I don't recommend those. They are a little too brief and don't give a lot of background. Instead, check out the talks by Clojure creator Rich Hickey. I am finding the "for Java developers" version very useful.

+17  A: 

The most promising resource for learning Clojure seems to be the Programming Clojure book. It's not released yet, but you can buy a beta PDF of it.

CAdaker
Have you read it?
Steve Rowe
I've only read the first few chapters, so maybe I shouldn't say too much about it yet... I've liked it so far, though.
CAdaker
I've read it, it's superb.
Rayne
Thanks. I'm having a hard time getting over the price. If I pre-order the book on Amazon, it's like half the cost of the pre-order with PDF version. Seems a bit steep for a PDF.
Steve Rowe
I've read it as well. Money well spent.
I agree. I normally don't pay for books, but this one was worth it.
Rayne
The book is good, but I don't know if I'd recommend the book (by itself) to someone who didn't already know Lisp or Scheme; it spends a lot of time talking about Clojure's specific features features and not much about Lisp programming generally. As someone who knows Lisp I really appreciated this, but a "intro to Lisp" book might be a good investment for someone considering picking up Clojure as their first Lisp.
Tim Gilbert
Yeah, I'd go with the inro to lisp first, I as only able to get two, maybe three chapters into the book before it was over my head because I wasn't up on lisp.
Tchalvak
it required a bit of familiarity with java, too, which was pretty annoying :(
konr
That's odd... I read the book, learned Clojure with no problem, and I have zero previous Lisp or Java knowledge. :\
Rayne
I've read it, thought it was great. I have no Lisp background but quite a lot of Java experience. I don't think that it presumed much java knowledge though.
bm212
+19  A: 

Youtube has a series of videos called "Intro to Clojure". Its more about the language rather than how to program in it but it's good for a basic overview.

http://clojure.blip.tv/ also has a series of screen casts, but I haven't watched any yet. Hopefully someone else has more, I want to teach myself Lisp and Clojure seems like the best at the moment. modern lisp with Java integration drool

Benjamin Confino
Very good resource!
fastcodejava
+4  A: 

Halloway has a blog on Clojure at On Lisp -> Clojure. Looks like good starting point.

hbagchi
Isn't On Lisp for advanced Lisp users? Anyway, that link is broken now. Take a look at http://blog.fogus.me/2009/01/15/on-lisp-clojure-prolog-pt-1/. You might have meant to reference Holloway's Practical Common List blog http://thinkrelevance.com/blog/2008/09/16/pcl-clojure.html
Adrian Mouat
I would not say On Lisp is for advanced Lisp users - Perhaps people who have a smattering of knowledge of Lisp and want to understand/grok why Lisp is beautiful. It was more like the Joy of Lisp for me.
Bart J
+59  A: 

There is a comprehensive introduction to Clojure at: http://java.ociweb.com/mark/clojure/article.html

mime
I second this one. It's been a great resource for me.
wbowers
I find it to be better (more in-depth in spite of being more concise) than the "Programming Clojure" book (which I own).
pmf
+6  A: 

There's a tutorial for beginners by Mark Volkmann that has just been released. It seems very complete: http://ociweb.com/jnb/jnbMar2009.html

bigmonachus
+1  A: 

I recommend getting the beta PDF of programming clojure, along with referencing http://en.wikibooks.org/wiki/Clojure_Programming/Examples/API_Examples although I haven't looked to see if it's still up to date with the new Lazy changes (latest beta of the pdf book is fully up to date last I'd heard, haven't had time to go through it yet).

It's also a good idea to use SVN and build from ant so you have the latest changes, since pre-1.0 clojure is still a bit of a moving target.

Runevault
+3  A: 

I found this one which looks interesting. Clojure for the Non-Lisp Programmer.

Steve Rowe
Crappy tutorial. Use http://www.ociweb.com/mark/clojure/article.html it's more up to date and comprehensive. Or just buy Programming Clojure.
Rayne
Thanks Rayne. I'll avoid it.
Steve Rowe
It's not so much that it's crappy, it's just /outdated/ big time.
Rayne
But age and coverage isn't everything. This is the clearest guide to Clojure I have found! To me anyway..
progo
+6  A: 

The http://clojure.blip.tv presentations are fantastic and highly recommended. Depending on your background, there is one targeted at Lisp programmers and another targeted at Java programmers. I learned much of what I know about the whole language in 2 days watching all of these videos.

If you are interested in a "building a library" tutorial (using TDD) then I recently published one in an interesting format: http://larrytheliquid.com/2009/03/02/presenting-clojure-with-a-gitorial

larrytheliquid
+11  A: 

http://www.ociweb.com/mark/clojure/article.html is the best (free) one that I have seen so far.

Dev er dev
+1  A: 

I'd also recommend the irc channel: #clojure on irc.freenode.net. It's a community full of helpful and knowledgeable people. Clojure's author, Rich Hickey, is in most days and will often respond to some of the more difficult questions.

Joe W.
+5  A: 

Stuart Halloway has a few great examples on his blog. He's started porting chapters of Practical Common Lisp (PCL) to Clojure. The examples are practical, idepth and very easy to understand. Highly recommended!

You can visit the series page on:
Relevance Blog: PCL -> Clojure

pregzt
+4  A: 

I strongly recommend you watching the peepcode screencast: http://peepcode.com/products/functional-programming-with-clojure

It's not as comprehensive, but much more fun, therefore encouraging.

konr
A: 

Craig Andera has recorded an excellent tutorial on Clojure Concurrency

Dmitry Kakurin
+2  A: 

A lot of people have referenced R. Mark Volkmann's great tutorial. However, it has to be said that this tutorial is fairly hard-going (a lot of stuff is covered in a very short space), so you may want to consider it more of a reference.

There is also this wikibook which looks a little more accessible. Also, there has been some work on rewriting Practical Common Lisp (original here) into Clojure available here.

Good luck!

Adrian Mouat
+2  A: 

I'd suggest starting with LabRepl, which is an interactive tutorial that you spin up on a local webserver and then start reading and coding. It's being written by Stuart Halloway et al. You can find it on github: http://github.com/relevance/labrepl

Microserf
+1  A: 

I've found the Casting SPELs with Clojure slow-moving and amusing. Then again, I like tutorials that give me stuff to play with instead of giving tons of information.

pydave
Very fun introduction to Clojure. Thanks!
Bart J
+3  A: 

Fast Track Clojure is a tutorial for people new to Clojure. The aim is to get you writing Clojure code on the fast track. You can find the tutorial here. http://fasttrackclojure.blogspot.com/ Disclojure: I am the author of the tutorials.

Santosh