beginners

Victor 2025-07-09T01:44:32.285719Z

is "Clojure for the Brave and True" eBook really good/helpful/educational/didactic? How much will I learn with it? I saw some positive feedbacks about this book.

Krishnansh Agarwal 2025-07-18T07:50:09.963889Z

Do any vlogs or books use the deps.edn setup instead of Lein ?!

p-himik 2025-07-18T08:41:26.679139Z

Of course, and it should be very easy to look up. Off the top of my head, at least Practically Clojure and Sean Corfield's blog use deps.edn.

πŸ‘ 1
p-himik 2025-07-09T01:50:00.193529Z

It's alright but not everyone likes the writing itself. Some bits are also outdated, but they are also not deal breakers by any means. If that doesn't bother you, I'd definitely suggest finishing it. It's not terribly long, it's easy to read, its material is tailored to beginners.

βž• 1
dpsutton 2025-07-09T02:32:49.480769Z

I haven’t read it in years but it was where I learned. It definitely has a style. If you like it go with it. If not there are lots of good options

2025-07-09T02:32:50.800979Z

the official docs on http://clojure.org are drier, but are very clear and readable compared to most language docs, I suggest looking up what you can find on the left sidebar here https://clojure.org/reference/reader as they come up in the book (it's a weird URL but it's the closest to a "destination for the reference docs" I could find)

🀝 1
2025-07-09T02:34:57.150119Z

also the clojure.repl namespace is useful for getting more info as you go (`find-doc`, apropos , source, and doc in particular)

seancorfield 2025-07-09T02:52:29.305249Z

I think the main complaints about Brave are a) Emacs upfront and b) it's a bit dated. You can ignore a) and use whatever editor you prefer and still learn from the book. You can mostly ignore b) too since Clojure evolves very slowly by design, as long as you supplement it with something like Programming Clojure 3rd ed, the material on http://clojure.org, and maybe the material on http://clojure-doc.org (which got a massive overhaul in 2023 to bring it up to date with Clojure 1.11 and 1.12).

❀️ 2
2025-07-09T03:08:25.642669Z

oh yeah I forgot how much of that book was about emacs. that part is much more likely to be out of date than the clojure stuff

Flinner Yuu 2025-07-09T08:04:49.379389Z

Emacs aint outdated : (

gaverhae 2025-07-09T08:06:29.715269Z

But the way you configure it to work with Clojure has evolved more than Clojure itself over the past morre-than-I-care-to-count years since Brave and True was written.

πŸ‘ 2
danieroux 2025-07-09T08:54:37.113239Z

This is my favourite free resource. Russ Olsen from Getting Clojure is interviewed in this podcast, and he verbally takes you through his book: β€’ Data: https://podcasts.apple.com/us/podcast/s1-e2-data-with-russ-olsen/id1461500416?i=1000438141815 β€’ Code: https://podcasts.apple.com/us/podcast/s1-e3-code-with-russ-olsen/id1461500416?i=1000439040140 β€’ State: https://podcasts.apple.com/us/podcast/s1-e4-state-with-russ-olsen/id1461500416?i=1000440022102 (more Clojure 101 stuff here: https://www.notion.so/matterindustries/Clojure-101-47c7cb41975347cbbca74e6ebeb9517a#76fcc67ee7274919b55d6b805f24f3a6 )

❀️ 4
Victor 2025-07-09T11:37:14.301389Z

One question Sea, Noise and others that said about this book being a little outdated, which topics in the book are outdated? Syntax? Macros? Libraries? What?

Victor 2025-07-09T11:39:31.569849Z

I read the initial page in clojure doc, it is a very good material, laziness, data manipulation, etc, will take a look in other materials from that page I will see Clojure official website too

gaverhae 2025-07-09T12:07:45.516149Z

Disclaimer: I never read Brave and True, as it came out a little bit too late compared to my own Clojure journey. Skimming the ToC, I expect: β€’ Chapter 2 ("Emacs") is likely outdated in the setup instructions. I'm not an Emacs user myself, so I can't really do much for you except point you to #emacs or #cider for up-to-date help with that. β€’ I have a feeling that "modern" Clojure puts a lot less emphasis on refs and transactional memory than people initially believed, which could be good context to keep in mind when reading Chapter 10. Atoms (generally one per application) seem to be plenty enough for the vast majority of use-cases. β€’ Similarly, the overall idiomatic trend seems to be moving away from records and towards plan maps instead, which may color Chapter 13. I've personally used protocols a little bit, but never had a real use-case for multimethods, though I don't know how typical that last one is. β€’ Build and dependency management seems to be moving over to clj & tools.build, so the two appendices are likely less relevant. In particular, while you can still find some dinosaurs (like myself) clutching Leiningen like they'd drown if they had to learn something new, I haven't heard a heartbeat from Boot in a few years.

πŸ‘ 1
πŸ‘πŸ» 1
gaverhae 2025-07-09T12:10:46.814759Z

Apart from that (general category: things Rich thought would be important when building Clojure, but turned out not to be as much), there is the category of things that did not yet exist when Brave and True was written. I don't have an exhaustive list, but, off the top of my head: β€’ Reducers and Transducers. β€’ datafy β€’ Interop has been cleaned up quite a bit in Clojure 1.12

πŸ‘ 1
πŸ‘πŸ» 1
gaverhae 2025-07-09T12:11:20.848349Z

One thing that I feel important to emphasize: I don't think anything that's in the book has become "wrong"; Clojure has been remarkably stable over the past 10 years.

πŸ‘ 1
πŸ‘πŸ» 1
seancorfield 2025-07-09T14:20:20.624149Z

Brave and True came out in 2015 I think? Clojure 1.6 was current then. So you can get a sense of what Clojure has added in 1.7 and beyond from https://en.wikipedia.org/wiki/Clojure#Release_history with a lot more detail here https://github.com/clojure/clojure/blob/master/changes.md -- so it doesn't cover transducers, reader conditionals, tap> and associated tooling (Portal, Reveal, Morse), Spec, Clojure CLI / deps.edn, tools.build / build.clj. That's pretty much all additive. The annual State of Clojure survey has shown a steady switchover from Leiningen to the official CLI / deps.edn / build.clj stuff (Leiningen is now in the minority).

❀️ 1
2025-07-09T18:39:29.347519Z

my recommendation of looking at the clojure reference in parallel wasn't because brave and true is outdated per se, but because IMHO there are some things the official clojure docs explain better than brave and true

🀝 1
James Amberger 2025-07-09T22:59:37.885659Z

After you read CftBaT I recommend http://Elements%20of%20Clojure; personally I found it conceptually rewarding.

❀️ 2
Victor 2025-07-09T23:43:23.509589Z

thank you everyone for the nice tips! I will take a deep look at everything you guys said πŸ™‚ I didn't know about the existence of a annual Clojure survey, I'm sure that this survey contains some valuable info too I think Slack doesn't have an option to reply to a specific message in a thread chat like Discord/WhatsApp so it is a little hard to reply for each message, so the message above is a thanks for everyone here

mrnhrd 2025-07-11T08:19:40.027089Z

I personally prefer Rich's introduction for java devs (you can find it on youtube) in combination with aphyr's series: https://aphyr.com/posts/301-clojure-from-the-ground-up-welcome but doing these and Clojure-For-The-Brave definitely doesn't hurt.

❀️ 1