Found in 3 comments on Hacker News
raspasov · 2018-08-09 · Original thread
The Clojure Programming book, it's excellent both for beginners and advanced users (I've been using Clojure since 2013).

https://www.amazon.com/Clojure-Programming-Practical-Lisp-Wo...

A lot of tips and insight of how to do and not to do things in Clojure without too much hype. "Practical Lisp for the Java World" - the title does not lie :).

PaulHoule · 2017-07-17 · Original thread
If you choose Clojure get

https://www.amazon.com/Clojure-Programming-Practical-Lisp-Wo...

and

https://www.amazon.com/Clojure-Cookbook-Recipes-Functional-P...

these two books are much better than the free documentation for learning how to "Think in Clojure". Expect to read them over and over again, maybe sitting on the bus, spinning at the gym, or any time you can.

Conceive of a cool demo that would get upvoted on HN, be put on your LinkedIn page, get talked about at an interview. Start with something small and scale up until it "clicks"

I would recommend Python as a practical language which I see customers asking for by name. Python has great libraries for making web sites and apps, as well as data analysis, graphing, "intelligent" applications involving machine learning, etc. Python lets you get the abstract syntax tree from the compiler and transform it, so LISP-style metaprogramming is convenient and mainstream.

I have been paid to write Scala and I do not think it is a better choice than Clojure, Python or even Java. C# is the best "better Java" at the moment, although Java is slowly catching up. If you want type systems and static metaprogramming that will blow your mind, learn the very latest in C++.

votr · 2016-10-25 · Original thread
I approached learning Clojure the way I approach learning everything else. I survey the resources available, then pick the two best books. Ideally, I want them to come at it from different perspectives. e.g. one may place an emphasis on doing stuff with Clojure while another may be more about functional programming.

At the time, they were:

https://www.amazon.com/Clojure-Programming-Chas-Emerick-eboo...

https://www.amazon.com/Joy-Clojure-Michael-Fogus/dp/16172914...

I then wrote a data processing app in Clojure; consuming financial data and finding patterns in it.

My suggestions are: 1) If this is your first time learning a functionally-oriented language, clear your mind from any kind of assumptions picked up from other languages.

2) Get a handle on the core tenets of functional programming: immutability, purity, composition, and functions as objects. If you know Javascript, then a lot of this stuff may already be familiar to you. JS is underrated in that department imo.

3) To me, writing programs with Clojure is akin to playing with Lego. You write your base functions, then higher-level functions which use those base functions, and so on. Functions all the way down.

4) Write something with it; it'll force you to decompose your program and think functionally.

Clojure is a simple, opinionated language. I don't think you'll have a hard time picking it up at all. The hard part will be to think in a manner amenable to it.

These days, I think Clojurescript has overtaken Clojure in terms of traction, so if you're into webdev, then CJS would be a natural next step.

Fresh book recommendations delivered straight to your inbox every Thursday.