Live data from Hacker News

Clojure for the Brave and True (2015)

braveclojure.com

21–30 of 106 posts

Re: Clojure for the Brave and True (2015)

#21

This was a good book. It would have been better if he had a more critical perspective of the language. As much as I love Rich Hickey and Clojure, the language does have pitfalls and rough edges, and this book was a little too starry-eyed to tackle them head-on like Crockford's book on JavaScript.

I agree.

A sibling comment recommends "Joy of Clojure" but I feel that's better as a second or third book.

My personal recommendation, YMMV as always, is

Kyle Kingsbury's "Clojure from the Ground Up" series https://aphyr.com/tags/Clojure-from-the-ground-up, then "Clojure Applied", then "Joy of Clojure". Hard to say an ideal order for the last two -- "Clojure Applied" is more approachable IMO, but "Joy of Clojure" is more comprehensive and covers more "cool" applications that spark curiosity and creative thinking.

Re: Clojure for the Brave and True (2015)

#22

I don't know what's wrong with me but I gave Clojure 3 tries in the past and every time I try to actually build something (aside from 4clojure and solving hackerrank problems with it) I get lost in the tooling and just give up then fallback to familiar frameworks\languages. It just doesn't click with me and the whole leinengen\ring\compojure just seems weird and backhanded.

I would suggest starting with compojure-api (via its leiningen template) on the backend and Reagent on the front-end. Super simple if you're familiar with building API driven SPAs and in particular React apps.

compojure-api will get you going, and you can sort of back in to a fuller understanding of compojure and ring, which I agree is a bit confusing -- hard to know which of the zillion ring plugins to use, and where.

Re: Clojure for the Brave and True (2015)

#23

I don't know what's wrong with me but I gave Clojure 3 tries in the past and every time I try to actually build something (aside from 4clojure and solving hackerrank problems with it) I get lost in the tooling and just give up then fallback to familiar frameworks\languages. It just doesn't click with me and the whole leinengen\ring\compojure just seems weird and backhanded.

Mind if I ask what isn't clicking? I've had the exact opposite experience, and have found it very easy to incorporate different libraries. Do you have experience with other lisps? There's certainly a learning curve with clojure and its frameworks.

Everything assumes you're a Java expert.

Re: Clojure for the Brave and True (2015)

#24
After learning syntax, the most valuable Clojure book to me was "Clojure Applied". Most books seem to cover the what of a language, Clojure Applied focused more on when and why. Which is extremely important, because I found that there tended to be lots of similar ways to tackle something in Clojure, which created mental gridlock whenever I tried to code a larger project.

Re: Clojure for the Brave and True (2015)

#25
I love Clojure, and have spent most of the last seven years in a Clojure REPL inside Emacs. But it still doesn't feel like critical mass has been reached. If anything, large efforts like Incanter have mostly died off, because most Clojure people are smart and resourceful enough to build their own stuff. There's an aversion to frameworks and a reliance on gluing together smaller libraries, which is totally valid as a philosophy.

Me, I'm fairly dumb and lazy, and basically at the point where I wish I'd stuck with something like Python all along.

Re: Clojure for the Brave and True (2015)

#26
post #25

I love Clojure, and have spent most of the last seven years in a Clojure REPL inside Emacs. But it still doesn't feel like critical mass has been reached. If anything, large efforts like Incanter have mostly died off, because most Clojure people are smart and resourceful enough to build their own stuff. There's an aversion to frameworks and a reliance on gluing together smaller libraries, which is totally valid as a…

Kind of reminds me of this: http://web.archive.org/web/20160304105922/http://www.lambdas...

"Another feature about this guy is his low threshold of boredom. He'll pick up on a task and work frantically at it, accomplishing wonders in a short time and then get bored and drop it before its properly finished. He'll do nothing but strum his guitar and lie around in bed for several days after. That's also part of the pattern too; periods of frenetic activity followed by periods of melancholia, withdrawal and inactivity. This is a bipolar personality."

Re: Clojure for the Brave and True (2015)

#28
post #2

This is by far the best book around for learning Clojure from scratch (IMO). If you always wanted to learn Clojure but never had the time, 2017 is the right year, and Clojure for the Brave and True is your companion. Buy it, or just read it for free on the website. (Disclaimer: I'm not in any way associated to the book or the author, I'm just super thankful for all the times this book has helped me to learn new thing…

Plus: "cuddle zombies" :-)

Re: Clojure for the Brave and True (2015)

#29

I don't know what's wrong with me but I gave Clojure 3 tries in the past and every time I try to actually build something (aside from 4clojure and solving hackerrank problems with it) I get lost in the tooling and just give up then fallback to familiar frameworks\languages. It just doesn't click with me and the whole leinengen\ring\compojure just seems weird and backhanded.

I wanted to use Clojure for a long time, and finally I found a project that was "simple" enough to use it on (but which exercised some of the benefits of functional programming.

Mine was a backup purge scheduling tool that read a user's (admin user) CSV file for dictating backup retention rules and then did analysis on the Bacula system, ultimately generating a shell script that would delete the appropriate backups.

In some worlds that would be considered insignificant, but it was a real world problem with great risks (deleting the wrong backups can be really bad).

When it was done, I did a code review with different Ruby and Python colleagues. That's where the benefits really began to show - I could illustrate the simple rules, the facts and behaviors, and we were able to build upon those solid rules. People who didn't know Clojure and who had no exposure to Lisp could confidently agree that the behavior of the program was to spec.

That, for me, is the beauty of Clojure (or perhaps Lisp).

Re: Clojure for the Brave and True (2015)

#30

Earlier quoted context omitted.

Mind if I ask what isn't clicking? I've had the exact opposite experience, and have found it very easy to incorporate different libraries. Do you have experience with other lisps? There's certainly a learning curve with clojure and its frameworks.

Everything assumes you're a Java expert.

I think that's fine. I wouldn't recommend serious use of a language that targets the jvm without a decent knowledge of Java
Post reply on HN