

Clojure Programming - turbinemonkey
http://www.clojurebook.com/

======
buddy_nuggs
I have been interested in learning Clojure for some time (spent many years as
a Java dev, and intrigued by the chance to develop again on the JVM and learn
a Lisp style language). This is a resource I have bookmarked as potentially
helpful when I get around to learning:
<http://blackstag.com/blog.posting?id=5>

I haven't had the chance to check it out yet so can't vouch for quality. But
it seemed that a few people on the thread are considering getting into
Clojure, so I thought I'd share.

~~~
siavosh
Thanks for sharing. I've recently dived in too, here's some resources I'm
using:

<https://github.com/functional-koans/clojure-koans> <http://www.4clojure.com/>
[http://www.amazon.com/Joy-Clojure-Thinking-
Way/dp/1935182641...](http://www.amazon.com/Joy-Clojure-Thinking-
Way/dp/1935182641/ref=sr_1_1?ie=UTF8&qid=1330382665&sr=8-1)

------
krosaen
Anyone have insight into how this might complement / compare with "The Joy of
Clojure" <http://joyofclojure.com/the-book>? At first glance, having read JOC
and seeing the TOC for this new book, what most piques my interest are the
sections on macros, protocols, and the web stuff.

~~~
elangoc
I imagine that Clojure Programming is going to be similar to Programming
Clojure, when compared to the others (for a better rundown of others books:
<http://stackoverflow.com/a/2928998>) Or as this answer from SO puts it,
Clojure Programming probably teaches the "what" of Clojure:
<http://stackoverflow.com/a/2579877>

Personally, I think Joy of Clojure is the "why" as well as "how to do it
well". I learned the "what" mostly from Practical Clojure, which was good
enough, but definitely not great. Programming Clojure (2nd ed. for clj v 1.3,
still in progress) seems organized like a conversation in chapters, i.e.,
you'd have to read it entirely sequentially, and targeted random-access might
be difficult for first-time learners. I don't how Clojure Programming will be,
but I hope it raises the bar for teaching newbies.

------
gcv
IIRC, O'Reilly was flat-out refusing to publish any Lisp books as recently as
2005. How things have changed. :)

~~~
nonrecursive
Just curious, does anyone know why O'Reilly would refuse to publish any Lisp
books?

~~~
lispm
Because it takes some effort to write a good Lisp book. There are several very
good books: SICP, PAIP, AMOP, On Lisp, PCL, LoL, ...

Also typical Lisp hacker won't buy a slightly edited and printed version of
the HyperSpec or a printed version of the SBCL manual.

Add to that that Lisp made a deep dive after the AI winter and that they were
sure to not sell enough copies. At that time it was also a good idea not to be
connected to Lisp.

Plus, I guess they did not like Lisp. 'Clojure' has the 'advantage' not to use
'Lisp' in its name.

~~~
CJefferson
I suspect the answer is more simple than you make out. They will not publish
what they are sure will not sell.

~~~
lispm
LISP

------
buckwild
Does anyone know of a good web framework for Clojure? Perhaps a rails of
django equivalent?

I love using Java for the exact reason the author claims Clojure is so
powerful--the magnitude of libraries.

If a decent web framework is available, then I would be inclined to give it a
go.

~~~
SkyMarshal
If you love Java and want a magnitude of libraries, and don't have any
particular attachment to Lisp syntax or dynamic typing (which 'love Java'
seems to imply), then it would benefit you to check out the Play [1] and Lift
[2] frameworks as well. Lift is Scala-based but is 100% interoperable with
Java libraries, and Play apps can be written in either Java or Scala and is
also 100% interoperable with Java. Play is quicker to learn, Lift has superb
built-in security and very easy Ajax/Comet.

1\. <http://www.playframework.org/>

2\. <http://liftweb.net/>

~~~
buckwild
Thanks SkyMarshal, I use Play all of the time. I've never tried Lift though--I
might give that a go soon as well. I'm curious about whether or not there is a
framework of Clojure however. From the responses, it seems like Noir is the
popular solution these days :-)

~~~
SkyMarshal
Ok, cool. It wasn't clear whether you wanted Clojure-only, or might be
interested in other acceptable JVM-based ones. As for Lift, the folks on the
mailing list (liftweb @ Google Groups) are very helpful when it comes to
figuring out whether Lift is appropriate for any given project or not
(basically, do you specifically need its features and have a developer team
with the ability and bandwidth to ramp up quickly enough for your deadline).

PS - nothing against Clojure, not trying to hijack this whole thread, just add
to it. Clojure + Scala makes the JVM a truly awesome platform. The power and
features of both Lisp and ML, the brevity of both.

------
MatthewPhillips
I'd still love to see a ClojureScript book that doesn't assume you already
know Clojure. Put me in a repl and have me modifying a web-page, as opposed to
writing command-line applications.

~~~
dinedal
I think you're looking for this: <http://clojurescriptone.com/>

------
malandrew
Now that you've written a full technical book, what are your thoughts about
how technical book publishing is done and how it can both better serve the
authors creating the content and be better presented to your readers?

------
SonicSoul
is anyone putting Clojure to good use? i've been reading about it for a while,
but still can't find a practical use for it. i know .Net framework in and out,
and it just makes everything so easy.. not sure what Clojure could offer me at
this stage, even though i love its notation (the little that i know so far).

~~~
moomin
The truth is, if you're a .NET programmer, you're going to find Clojure
slightly painful because you're switching ecosystems. Using it for work will
encounter the same problem and ClojureCLR is a second class citizen.

That's not to say it isn't great and useful, it is. I'm noticing a couple of
trends in Clojure development: big data and esoteric. Take a look at Storm
(twitter's data processing engine) and Overtone.

------
blario
Why Clojure? What makes it better than anything from the huge range of choice
developers already have?

~~~
moomin
Very quickly: Simplicity, Speed, Power.

Simplicity: it's easier to reason about a Clojure program. Speed: Idiomatic
Clojure tends to be as fast as Java when it matters. Power: If an abstraction
you need isn't present, you can write your own. Code reuse is insanely high.

