Professional Clojure
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Professional Clojure
About This Book
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.
Frequently asked questions
Information
Chapter 1
Have a Beginner's Mind
WHAT'S IN THIS CHAPTER?
- Understanding the differences between imperative and functional programming
- Learning how to think more functionally
- Discovering Clojure's unique perspective on object-oriented programming
If your mind is empty, it is always ready for anything, it is open to everything. In the beginner's mind there are many possibilities, but in the expert's mind there are few.—Shunryu Suzuki
FUNCTIONAL THINKING
In computer science, imperative programming is a programming paradigm that uses statements that change a program's state.
Value Oriented
https://www.youtube.com/watch?v=-6BsiVyC1kM
).(defn square [a] (* a a)) (defn sum-of-squares [a b] (+ (square a) (square b)) ; evaluate the expression (sum-of-squares 4 5) (sum-of-squares 4 5) (+ (square 4) (square 5)) (+ (* 4 4) (* 5 5)) (+ 16 25) 41
(defn fib [n] (cond (= n 0) 0 (= n 1) 1 :else (+ (fib (- n 1)) (fib (- n 2)))))
(fib 4)
and (fib 3)
. Then, to calculate (fib 4)
, you need to call (fib 3)
and (fib 2)
. That's quite a bit of recalculating values that you already know t...Table of contents
- Cover
- Title Page
- Introduction
- Chapter 1: Have a Beginner's Mind
- Chapter 2: Rapid Feedback Cycles with Clojure
- Chapter 3: Web Services
- Chapter 4: Testing
- Chapter 5: Reactive Web Pages in ClojureScript
- Chapter 6: The Datomic Database
- Chapter 7: Performance
- End User License Agreement