For weeks, months?—nay!—from the very moment you were born, you've felt it calling to you. At long last you'll be united with the programming language you've been longing for: Clojure!
As a Lisp-style functional programming language, Clojure lets you write robust and elegant code, and because it runs on the Java Virtual Machine, you can take advantage of the vast Java ecosystem. Clojure for the Brave and True offers a "dessert-first" approach: you'll start playing with real programs immediately, as you steadily acclimate to the abstract but powerful features of Lisp and functional programming. Inside you'll find an offbeat, practical guide to Clojure, filled with quirky sample programs that catch cheese thieves and track glittery vampires.
Learn how to:
Wield Clojure's core functions Use Emacs for Clojure development Write macros to modify Clojure itself Use Clojure's tools to simplify concurrency and parallel programming
Clojure for the Brave and True assumes no prior experience with Clojure, the Java Virtual Machine, or functional programming. Are you ready, brave reader, to meet your true destiny? Grab your best pair of parentheses—you're about to embark on an epic journey into the world of Clojure!
It's a very good book. An not only on the matter, but overall as a technical book it's really quite fun to read. It's well planned, has enough information to get you started but not too much detail to get you overwhelmed.
I came across this book by accident while reading Clojure Distilled by Dmitri Sotnikov. It was one of the recommended resources in the article.
I caught myself reading the book chapter by chapter finding it a gold mine full of humour and very practical examples and exercises.
While getting to the end of a typical technical book is a struggle, Clojure for the Brave and True does not feel any way like that. Daniel Higginbotham introduces Clojure concepts one after another bit by bit and puts them into practice through little fun projects. You will find yourself hunting for vampires and creating hot dog vending machines, every time super excited as if you were learning to program for the first time.
The author starts with very simple concepts and gradually introduces the concepts of macros, explains how to work with namespaces and, later on, takes you on a journey to the world of concurrency and working with JVM.
Getting productive programming in Clojure is guaranteed after reading the book.
I have a hard time recalling any technical book from which I have learned so much and which made me feel so productive working with a new language. Also, one of the most enjoyable technical books I have read so far.
It is the first Clojure material I read so it is difficult to evaluate it. In general, I think it works as an introductory material and it has a good sense of humor so it is easy to read.
Maybe it is not a fault for an introductory material, but I missed more opinions about code design. For example, the Records, Multi Methods and Protocols seems much more like OOP than FP and I would like to know more deeply if this kind of discussion is common among the FP and Clojure enthusiasts.
Great introductory book giving a complete overview of the clojure ecosystem from language fundamentals to build tools. The author's peculiar sense of humor might not be to everybody's liking but I found it a refreshing approach.
However, given that I've got introduced to functional programming through Haskell and got introduced to Lisp through Racket, and got drawn to Clojure because of its reputation for pragmatism, this book is not my cup of tea!
Still thank this book for introducing me to Emacs <3
b� 3 cuốn của lisp lang của nostarch, land of lisp 5*, Clojure for the Brave and True 4*, realm of racket 3*(hơi b� thất vọng khi sách do chính founder của racket viết, mà lão cũng co-author trong series little schemer)
Firstly, the book assumes prior programming knowledge, making it less accessible for beginners. It could have provided more foundational concepts and explanations to ensure a smoother learning experience for readers new to programming.
Secondly, the book lacks a cohesive structure and organization. The content jumps between different topics, making it difficult to follow a logical progression. This lack of clarity hampers the learning process and makes it challenging to grasp the core concepts of Clojure.
Additionally, the book fails to delve deeply into advanced topics and real-world applications of Clojure. It could have provided more comprehensive examples and practical exercises to help readers build a stronger understanding of the language.
Overall, while "Clojure for the Brave and True" offers a starting point for learning Clojure, it falls short in terms of accessibility, structure, and depth of content. It would benefit from improvements in these areas to enhance the learning experience for readers.
It's a great introductory book for Clojure. Contrary to some other reviews, in my experience, the humorous analogies presented in the book actually helps me to understand the topic better and they keep me engaged with the explanation narration, which usually can be tedious in a technical book.
However, this book suffers from "example first, explanation later" issues, not emphasizing on the why something has come to be but rather the practicality standpoint: "Clojure has these features and here's how to use them". Which is unfortunate, since Clojure is a language that is built upon novel ideas and reasoning (which I learn to appreciate later). Thus, if you don't have your mind set to learn Clojure and grind through this book, you may come across the thought, "why would anyone learn this language anyway?".
But despite that, I think it's a good starting point of you're just starting on Clojure or should you need to refresh your memory on the basics.
First time reading a programming manual in full and I must say this was quite a tedious experience. The writer did his best to make it a bit catchier, and the result does work sometimes - but it has some major drawbacks nonetheless. I would have appreciated more in depth discourse on the whys and on the “philosophical� aspects of this language: the same mantras are proposed over and over again but with little support or depth. Functional programming is better than OOP. Macros are cool. Ok but why? Then, for what regards the style, the examples intend to be funny, and they are, but many times with the removal of a real context to a problem it is more difficult to grasp what’s the point of a very specific thing was going to be! Anyway there are some very interesting concepts all around and it’s a fun language to take a look at, so i would still suggest it especially up until the macros section
Great intro to Clojure! I'm mixed on the humor and sort of storytelling style - sometimes I just skipped past or wasn't interested, but at the same time, it's nice to see something not so serious and adding a bit of fun to a programming book. Also, I enjoyed the order of topics, and the less deep coverage. This let me get up and going quickly, while covering a pretty large swath of the language. I got enough that I can then dig further into areas I'm interested in or need to, etc. at my own pace.
About my only gripe, and it's extremely small, was the usage sometimes of some functions that hadn't yet been covered. This was not often, and again, quite a small gripe, but there were a few times where it made me pause to go look that unknown up, which broke my flow in reading the book.
My first book on Clojure (or Lisp, in general). It's a solid introduction, and the Emacs tutorial was also very helpful with getting an environment setup -- something most other books leave as an exercise from the reader. (Though often a non-trivial one.)
My first time reading through, I started getting lost by the later chapters; but nothing beats getting hands on and doing some real programming exercises or projects. This book does provide exercises, but I found them a little tedious and starting skipping them after first few chapters... which didn't help once we got to the more complex stuff.
However, everything is free online, so if you're interested in seeing what Clojure is all about, this is probably the very best first step.
Update: I have read half of the book and now I can say that I like it more than I did in the beginning.
I think that whether you like this book or not depends on your what is your preferred style of programming books.. This book in my opinion tries more to be friendly and funny than to teach you stuff. It prioritizes more the fun part. This means that it tries to craft examples that are first and foremost funny than understandable.. This may end up in 40-50 lines of code to show you how loop works (hobbit hit example) where it could simply present a dry example with 4-5 lines (I read this on ebook). So it really is a matter of taste. If you like me prefer the dry examples then you probably want the O'Reilly style book (Clojure programming, Living clojure).. I switched to the O'Reilly style books and didn't regret it (Living clojure)
I really enjoyed reading this book and learned a lot from it. It’s not only about Clojure but programming in general. Written in a simple language with fun examples. Author does a great job explaining complicated concepts using metaphors. Most chapters have exercises and working on them really helps to understand the material. Would recommend to anyone who wants to become a better programmer and broaden their horizons.
Though not a complete guide, good to get started with the Clojure basics. Some times you might feel the content is too much verbose, but that's fine. The exercises rare also good. If you're planning to start with Clojure, this is a good place to start and for further practice you can use ()
A great introduction to Clojure and functional programming. It is well structured, with enough humor to get through the dry stuff, and has well explained and comprehensive examples. Unfortunately it does not cover a lot of i.m.o. important concepts such as the for special form, agents, the expression problem, tackling complexity, as well as not explaining currying, lambda calculus and list comprehensions. I recommend looking those up in a separate, more detailed book.
This book is awesome! It will be hard to any other technical book make me laugh like that, the content is hilarious and immersive! In this reading, I learned how to use Clojure and how to deal with Leiningen, core.async and a little bit of Java. If you want to start with Clojure, I think this is the most accurate indication.
Useful book, but a bit too much silliness. The silliness can be mostly ignored, though at times it makes the examples harder to understand. Here-and-there it *did* work out though.
I have had Scheme in the past, so the basics were quickly gone through. I do not care for emacs so Chapter 2 was skipped. From Chapter 6 onwards, things got more interesting as it was newer territory (I avoided macros in Scheme, so Chapters 7 and 8 were also useful). I skipped the core.async chapter as it is not that useful for me right now and things were beginning to feel too detailed.
All that being said, the book proved useful as a quick crash course into Clojure. I'll notice in the future whether it *really* proves sufficient or other books are needed. For the time being, I will definitely keep it close as a quick reference or if I need to reread about some concepts. At least I do not feel as lost in Clojure as I did before.
Great introduction to Clojure and Emacs. Pretty straightforward, with practical examples that are easy to follow. Even now that I have been writing Clojure for a couple of months, I still use the online version every now and again as a quick reference. Would recommend it to anyone interested in the language.
Это хорошая начальная книжка, если ты не знаешь И программирвание, и clojure. С точки зрения программирования она даёт тебе смешные варианты задачек, с точки зрения clojure она объясняет в чём он пошёл дальше Lisp. От меня рекомендация читать для кругозора людям, которые кодят на других языках программирования.
It is the great book to learn clojure lang! I highly recommend this book if you would like to learn lisp like language and get a lot of fun to practice your programming skills using functional approach.
A nice, straightforward overview of Clojure. I didn't love how silly the examples were, but I didn't really see it as a problem. Higginbotham does a great job explaining concepts like macros, which took me some work to understand.
Livro bom para entender os conceitos do Clojure, com uma leveza no pano de fundo. Capitulo 2 sugere o uso de emacs, mas você pode tentar outros editores também como vs code + calva (achei bom esse plugin)