Clear, practical Clojure for the professional programmer Professional Clojure is the experienced developer's guide to functional programming using the Clojure language. Designed specifically to meet the needs of professional developers, this book briefly introduces functional programming before skipping directly to the heart of using Clojure in a real-world setting. The discussion details the read--eval--print workflow that enables fast feedback loops, then dives into enterprise-level Clojure development with expert guidance on web services, testing, datomics, performance, and more. Read from beginning to end, this book serves as a clear, direct guide to Clojure programming--but the comprehensive coverage and detail makes it extraordinarily useful as a quick reference for mid-project snags. The author team includes four professional Clojure developers, ensuring professional-level instruction from a highly practical perspective.Clojure is an open-source programming language maintained and supported by Cognitect., and quickly gaining use across industries at companies like Amazon, Walmart, Facebook, Netflix, and more. This guide provides a concise, yet thorough resource for professional developers needing to quickly put Clojure to work.Parse the difference between functional and object-oriented programming Understand Clojure performance and capabilities Develop reactive web pages using ClojureScript Adopt an REPL-driven development workflow Clojure is a modern dialect of Lisp, designed for concurrency and Java compatibility. It can be used with the Java virtual machine, Microsoft's Common Language Runtime, and JavaScript engines, providing a level of both versatility and functionality that is appealing to more and more enterprise-level developers. As requirements grow increasingly complex, stepping away from imperative programming can dramatically streamline the development workflow. Professional Clojure provides the expert instruction that gets professionals up to speed and back to work quickly.
Not a perfect book, and too expensive for what you get; however, this was a pragmatic and helpful introduction to Clojure and ClojureScript.
Good things about the book: - Good, simple, overview of testing - Great overview of ClojureScript tooling (needs updating for shadow-cljs) - Read this from cover to cover and you'll be ready to build Clojure web apps, actually! - The Datomic chapter is great. It's better than the official Datomic documentation as an introduction to the database and to Datalog
Problems with the book: - It's expensive for what it is, this is text book level prices for what's ultimately a light overview of Clojure - A few times they use the word "memorization" when they mean "memoization" early on in the book - Over-emphasis on functional programming concepts at the start of the book, which is typical of Clojure literature. We get it already. - 100% focus on web applications. I would have liked an exploration of scientific computing. - Over-emphasis on Datomic. We need some non-trivial SQL examples and patterns as well
A nice introduction to the capacities of the language for practices like TDD, interactive development, and some recommended libraries. Not as inspiring as some Clojure books, but probably a good resource to revisit.
The book is overral very good at explaining some best practices. However, the chapter about the Datomic is a must-read if you are interested in the subject. Very detailed view and explanation about the concepts.