Re: Clojure Literature

267 views
Skip to first unread message

Brian Marick

unread,
Jan 18, 2013, 10:04:53 AM1/18/13
to clo...@googlegroups.com

On Jan 18, 2013, at 8:46 AM, Reginald Choudari <adnancho...@gmail.com> wrote:

> I am looking for a new Clojure book to get me started on the language.

Here's a beginning Clojure reading list, with some discussion:
http://regretful.ly/clojure/2013/01/16/beginning-clojure-reading-list/

--------
Occasional consulting on programming technique
Contract programming in Ruby and Clojure
Latest book: /Functional Programming for the Object-Oriented Programmer/
https://leanpub.com/fp-oo

Alex Baranosky

unread,
Jan 18, 2013, 6:36:07 PM1/18/13
to clo...@googlegroups.com
http://clojure-doc.org/articles/ecosystem/books.html


--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Sean Corfield

unread,
Jan 18, 2013, 6:55:21 PM1/18/13
to clo...@googlegroups.com
I see that specifically (and correctly) calls out two books written
about pre-1.3 Clojure but does not call out Practical Clojure for the
same issue. Wasn't that written for Clojure 1.1?

(and is there a 2nd Ed in the pipeline? Luke? Stuart?)
--
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/

"Perfection is the enemy of the good."
-- Gustave Flaubert, French realist novelist (1821-1880)

Francesco Agozzino

unread,
Jan 18, 2013, 11:12:31 PM1/18/13
to clo...@googlegroups.com
Actually i felt comfortable using The Joy of Clojure AND Programming Clojure...
Keep in mind that i never used a Lisp-like language and i had only little knowledge of Java...

Il giorno venerdì 18 gennaio 2013 15:46:14 UTC+1, Reginald Choudari ha scritto:
I am looking for a new Clojure book to get me started on the language. I've been doing some clojure-koans and reading up on web-development with Clojure and am interested to get down to the knitty-gritty... From what I've seen, it looks like the latest Clojure books are from around March/April 2012. Seeing that Clojure is a changing language, I didn't want to buy a book that would quickly become obsolete. 

From all that I read, this page seemed to be the most comprehensive description of the current state of Clojure literature: http://stackoverflow.com/questions/2578837/comparing-clojure-books

I'd like to hear if anyone has any recommendations or if there is news of any upcoming books coming out that might be worth waiting for.

Thanks,
Reginald

Tim Cross

unread,
Jan 18, 2013, 11:55:23 PM1/18/13
to clo...@googlegroups.com

The books I've found valuable are 

Clojure Programming. Really liked this book because it just fitted well with my preferred style of book. Really enjoyed it and found that often, just as I was asking myself a question, the answer was in the next paragraph. 

Joy of Clojure. Excellent book. Possibly not a great first book, but absolutely a must once you have read one of the others and you really want to get a deeper understanding. I have returned to sections on this book a number of times and get something out of it each time. Really helps with the deeper knowledge I think you need for real projects. 

Programming Clojure. This was the first book I read. A good starting point (have only read 1st edition). Has enough to get you started, but avoids getting you too bogged down, so you feel like your making progress. 

I also have a copy of the new clojureScript book from O'Reilly, but have not read it yet. 

I wouldn't worry too much about differences because a book was written for clojure 1.2 or 1.3 even though 1.5 is only just around the corner. The differences are minor and tend to be most directly related to more advanced topics that are unlikely to be of critical importance to begin with. Once you have covered the content in these books, you will pick up the minor differences in later versions easily enough. 

Probably more important is to use Lein 2.0 right from the start and ensure you spend as much time trying to cut clojure code as reading about cutting clojure code!

have fun.

Tim

Sean Corfield

unread,
Jan 19, 2013, 12:33:26 AM1/19/13
to clo...@googlegroups.com
On Fri, Jan 18, 2013 at 8:55 PM, Tim Cross <theop...@gmail.com> wrote:
> I wouldn't worry too much about differences because a book was written for
> clojure 1.2 or 1.3

Oh I would worry about that! I see so many people trying to learn
Clojure from outdated books (mostly Clojure in Action) and getting
into terrible problems because of references to old monolithic
"contrib" and incompatibilities between that and Clojure 1.3 and
later. Seriously, anything written for Clojure 1.2 that is based on
old contrib is next to useless for teaching people basic Clojure these
days.

Alex Baranosky

unread,
Jan 19, 2013, 2:07:39 AM1/19/13
to clo...@googlegroups.com
"anything written for Clojure 1.2 that is based on
old contrib is next to useless for teaching people basic Clojure these
days."

So very true.

Tim Cross

unread,
Jan 19, 2013, 3:39:58 AM1/19/13
to clo...@googlegroups.com

I started clojure right at the point where contrib changed. I think I had a lot less problems than did many who had already started and were use to the old setup. I didn't mention the contrib change because it was long before the dates the OP was talking about, because none of the books I mentioned (except 1st editonn of Stuart's book) are based on anything pre 1.3 and because while the change to how contrib was structured may cause some little confusion, it is not a change in the language. All the core language constructs and basic concepts are the same. 

Of course, anyone who is using a book where it states it was written against an earlier version of the language than the current version they are using would be wise to check the release notes and summary of what has changed in the versions between the one the book used and the one they are using. Doesn't do any real harm to force some early problem solving anyway - certainly helps cement your knowledge and understanding. What would be a shame is to dismiss an otherwise good text simply because it was written for an older version. Imagine a C programmer not reading K&R simply because it was written for an old version of C@ 

Mimmo Cosenza

unread,
Jan 19, 2013, 11:33:20 AM1/19/13
to clo...@googlegroups.com
Hi,
wherever you start from (all the cited books are from good to very good), I think that one day you could take you're time to read a couple amazing books. 


and 


I studied the first one (written for scheme) almost 30 years ago, but its still "the book" for any serious programmer.  The second one (written for CommonLisp) is very, really very amazing if you want to be serious with macros. 

That said I'm still waiting for a very good book about co-recursion in clojure (or whatever functional programming). If someone has advice for that, I'll appreciate.

Mimmo

AtKaaZ

unread,
Jan 19, 2013, 12:24:36 PM1/19/13
to clo...@googlegroups.com
your*



bG9sLCBzb3JyeS4gSSB0aG91Z2h0IGl0IHdhcyBmdW5ueSBtZS1jb3JyZWN0aW5nLXlvdSBhdCB0aGlzIHBvaW50IGFuZCBzZWVtaW5nIGFsbCBzZXJpb3VzOykgSSBob3BlIHlvdSBzbWlsZWQgYmVmb3JlIHJlYWRpbmcgdGhpcw==

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en



--
I may be wrong or incomplete.
Please express any corrections / additions,
they are encouraged and appreciated.
At least one entity is bound to be transformed if you do ;)

Charlie Griefer

unread,
Jan 19, 2013, 12:30:10 PM1/19/13
to clo...@googlegroups.com
On Jan 19, 2013, at 9:33 AM, Mimmo Cosenza <mimmo....@gmail.com> wrote:

Hi,
wherever you start from (all the cited books are from good to very good), I think that one day you could take you're time to read a couple amazing books. 


SiCP also available as epub from https://github.com/ieure/sicp and pdf from http://sicpebook.wordpress.com/

--
Charlie Griefer

"Give light, and the darkness will disappear of itself." 
-- Desiderius Erasmus

Marko Topolnik

unread,
Jan 19, 2013, 2:23:04 PM1/19/13
to clo...@googlegroups.com

I wouldn't worry too much about differences because a book was written for clojure 1.2 or 1.3 even though 1.5 is only just around the corner. The differences are minor and tend to be most directly related to more advanced topics that are unlikely to be of critical importance to begin with. Once you have covered the content in these books, you will pick up the minor differences in later versions easily enough. 

The changes that happened between 1.0 and 1.3 are not just in the language---they are quite a bit in how the language is being approached. For example, in the "old" days the number-one subject everywhere was the Clojure STM and refs. Halloway's book doesn't even feature atoms, if I remember correctly, or at least it downplays them, pushing refs into the spotlight. Today it is pretty much accepted that atoms and agents are very useful and refs and the STM plays a side-role.

In my personal experience, for quite a long time I had lived with some sort of guilty feeling about the fact that I never ended up using refs; even if I did use them, the usage was kind of trivial, I felt I was doing something wrong. It took me a while to grow confidence that it's not me---it's the STM. Not that it is broken in any way, it's just that the use cases where it brings value are vanishingly rare.

Newer books that speak from more years of living and breathing Clojure contain many nuggets of wisdom such as this, this is why they are important for a beginner.

Reginald Choudari

unread,
Jan 19, 2013, 3:02:21 PM1/19/13
to clo...@googlegroups.com
Wow, I did not expect the wide range of responses and opinions. A lot of valuable information here for a beginner like myself... Thanks to everyone who contributed..

Reginald

Rich Morin

unread,
Jan 20, 2013, 5:04:59 PM1/20/13
to clo...@googlegroups.com
On Jan 18, 2013, at 07:04, Brian Marick wrote:
> On Jan 18, 2013, at 8:46 AM, Reginald Choudari <adnancho...@gmail.com> wrote:
>
>> I am looking for a new Clojure book to get me started on the language.
>
> Here's a beginning Clojure reading list, with some discussion:
> http://regretful.ly/clojure/2013/01/16/beginning-clojure-reading-list/
> ...
> Latest book: /Functional Programming for the Object-Oriented Programmer/
> https://leanpub.com/fp-oo


I followed the link to the reading list, followed it to Brian's book and ended up
buying Leanpub's "Thinking Functionally" bundle (https://leanpub.com/b/think):

"CoffeeScript Ristretto"
Reginald Braithwaite (raganwald)

"Functional Programming for the Object-Oriented Programmer"
Brian Marick

Both books are well written. The CoffeeScript book, in particular, plays around
nicely with the espresso metaphor while introducing assorted concepts from FP, etc.
Although I only dipped into it briefly, I plan to get back to it Real Soon Now.

In the meanwhile, I plan to read Brian Marick's book end-to-end, working through
the examples and thinking about his explanations. Unlike other Clojure books I've
tried, Brian's book makes few assumptions about knowledge of functional programming,
Java, Lisp, etc.

As a migrating Rubyist, I'm finding the book accessible, congenial, and informative.
In short, if you're an aspiring Clojurist, be sure to give this one a look!

-r

--
http://www.cfcl.com/rdm Rich Morin
http://www.cfcl.com/rdm/resume r...@cfcl.com
http://www.cfcl.com/rdm/weblog +1 650-873-7841

Software system design, development, and documentation


Reply all
Reply to author
Forward
0 new messages