Clojure Programming and over one million other books are available for Amazon Kindle. Learn more

Vous voulez voir cette page en français ? Cliquez ici.


or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
More Buying Choices
Have one to sell? Sell yours here
Start reading Clojure Programming on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Clojure Programming [Paperback]

Chas Emerick , Brian Carper , Christophe Grand

List Price: CDN$ 47.99
Price: CDN$ 29.78 & this item ships for FREE with Super Saver Shipping. Details
You Save: CDN$ 18.21 (38%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 2 left in stock (more on the way).
Ships from and sold by Amazon.ca. Gift-wrap available.
Want it delivered Wednesday, May 22? Choose One-Day Shipping at checkout.

Formats

Amazon Price New from Used from
Kindle Edition CDN $20.32  
Paperback CDN $29.78  

Book Description

April 19 2012

Clojure is a practical, general-purpose language that offers expressivity rivaling other dynamic languages like Ruby and Python, while seamlessly taking advantage of Java libraries, services, and all of the resources of the JVM ecosystem. This book helps you learn the fundamentals of Clojure with examples relating it to the languages you know already, in the domains and topics you work with every day. See how this JVM language can help eliminate unnecessary complexity from your programming practice and open up new options for solving the most challenging problems.



Clojure Programming demonstrates the language’s flexibility by showing how it can be used for common tasks like web programming and working with databases, up through more demanding applications that require safe, effective concurrency and parallelism, data analysis, and more. This in-depth look helps tie together the full Clojure development experience, from how to organize your project and an introduction to Clojure build tooling, to a tutorial on how to make the most of Clojure’s REPL during development, and how to deploy your finished application in a cloud environment.



  • Learn how to use Clojure while leveraging your investment in the Java platform
  • Understand the advantages of Clojure as an efficient Lisp for the JVM
  • See how Clojure is used today in several practical domains
  • Discover how Clojure eliminates the need for many verbose and complicated design patterns
  • Deploy large or small web applications to the cloud with Clojure

Frequently Bought Together

Clojure Programming + Clojure in Action + The Joy of Clojure: Thinking the Clojure Way
Price For All Three: CDN$ 92.48

Some of these items ship sooner than the others. Show details

  • In Stock.
    Ships from and sold by Amazon.ca.
    This item ships for FREE with Super Saver Shipping. Details

  • Clojure in Action CDN$ 32.92

    Usually ships within 3 to 5 weeks.
    Ships from and sold by Amazon.ca.
    This item ships for FREE with Super Saver Shipping. Details

  • The Joy of Clojure: Thinking the Clojure Way CDN$ 29.78

    In Stock.
    Ships from and sold by Amazon.ca.
    This item ships for FREE with Super Saver Shipping. Details


Customers Who Bought This Item Also Bought


Product Details


Product Description

About the Author

Chas Emerick is the founder of Snowtide Informatics, a small software company in Western Massachusetts. Since 2008, he has helped to develop the core Clojure language and many Clojure open source projects. Chas writes about Clojure, software development practices, entrepreneurship, and other passions at cemerick.com.

Brian Carper is a professional programmer in the field of psychological research. He uses Clojure for data analysis and web development. He's the author of a Clojure-to-CSS compiler and relational database library, and writes about Clojure and other topics at http://briancarper.net.

Christophe Grand is an independent consultant, based near Lyon, France. He tutors, trains and codes primarily in Clojure. A participant in developing the core Clojure language, he also authored the Enlive and Moustache libaries and is a contributor to Counterclockwise, the Clojure IDE for Eclipse. Christophe writes on Clojure at clj-me.cgrand.net.


What Other Items Do Customers Buy After Viewing This Item?


Customer Reviews

There are no customer reviews yet on Amazon.ca
5 star
4 star
3 star
2 star
1 star
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 4.6 out of 5 stars  26 reviews
21 of 22 people found the following review helpful
5.0 out of 5 stars Practical and accessible April 21 2012
By Publius - Published on Amazon.com
Format:Paperback
This is the most practical book on Clojure I've seen yet. At this point I've almost completely made my way through it. I bought it directly from O'Reilly (not Amazon) because I wanted it in PDF format.

I think what I like most about this book is that the authors have most often chosen to explain things in reference to scripting languages like Ruby and Python, and from business and mundane-data examples, rather than using examples from mathematics or computer science. This choice has made Clojure's power very accessible and easy for me, coming from a linux (Bash, Python, C) and web development (PHP, Ruby, Javascript), background and without any math or CS degrees. I am very grateful to the authors for writing it in such a down-to-earth way so that I have been able to absorb it easily.

I also enjoyed the extensive chapters on the practical use of the language, for things like web development, database access, tooling, and packaging. Also, their approach to discussing Java interop was very helpful to me not having dealt with Java much in the past.

Their extensive use of footnotes to comment their code examples is very helpful. When I find myself reading a line of example code and wondering why they did it that way, the footnote answers my question clearly and simply. I might have preferred actual inline comments rather than footnotes-- less jumping around in the PDF-- but the content is great.

In general, while reading it, every question that comes up in my mind seems to be answered within that paragraph or the next one (or in a footnote); the overall flow of the book and the path they've taken for building one concept upon another seemed very natural to me.

Even though it's easy to read linearly, I also found it very easy to skip around as well. I found many of the chapters in the Practicum section to be as good or better than the documentation for the projects they describe. The authors seem to account for the fact that readers might do that, and provide links throughout those chapters to earlier chapters of the book. I tend to reach for the book instead of for the documentation for some projects; it's useful as a HOW-TO.

I don't know if people who have a lot of lisp experience or CS degrees would be as grateful for this book as I am. But it has made learning a very powerful language into a fairly painless and straightforward process for me.

If you're coming to Clojure from languages like Ruby, Python, Javascript, etc., I'd recommend "Clojure Programming" as your first step.
13 of 13 people found the following review helpful
5.0 out of 5 stars A clear, comprehensive, and effective guide to Clojure April 22 2012
By Avi Flax - Published on Amazon.com
Format:Paperback
Before reading this book, I was proficient with Java, JavaScript, Python, and a few other languages -- all primarily object-oriented and ALGOL-derived. Lisp and Functional Programming (FP) seemed alien and bizarre. But after hearing that people were getting real work done using FP with Scala and Clojure, and hearing Rich Hickey, the creator of Clojure, speak at Strange Loop, I was inspired to get over my apprehension and learn functional programming and Clojure.

I decided it would be unwise to try to learn FP and Clojure at the same time, so I first wrote a program using FP in languages with which I was already familiar: CoffeeScript and Scala. It didn't take long for me to build an appreciation for the paradigm.

Once I felt that I had a decent understanding of FP, I asked on Twitter whether anyone could recommend a book, and got a very enthusiastic recommendation for this one from Sean Corfield. It was available under O'Reilly's pre-release program, so I was able to buy and read pre-release PDFs of the book.

The bottom line is that this book gave me a solid understanding of Clojure and enabled me to learn the language and gradually start using it. The concepts are presented in a thoughtful sequence wherein each one builds on the next, and it's made clear how each element of the language relates to the others.

The writing, examples, and organization are all excellent. And the book gets extra points for going beyond just explaining the language and how to use it, by being extra-comprehensive and covering how to really use the full Clojure ecosystem to build really useful software.

This is worth highlighting: if the book had been comprised of only chapter 1, "Down the Rabbit Hole", and the first 2 parts, "Functional Programming and Concurrency" and "Building Abstractions", it would have been an excellent book which I'd be recommending wholeheartedly. The inclusion of the subsequent parts, "Tools, Platform, and Projects", "Practicums", and "Miscellanea" make the book an invaluable resource and a fantastic value.

Ultimately, the book succeeds in conveying not only Clojure the language, but also the Clojure way, best practices, and key resources.
9 of 9 people found the following review helpful
5.0 out of 5 stars outstanding Clojure introduction for smart programmers May 19 2012
By R. Friesel Jr. - Published on Amazon.com
Format:Paperback
In "Clojure Programming", the preface asks "Who is this book for?" It's for a lot of people: experienced JVM developers, curious Rubyists, dissatisfied Pythonistas... Developers of all stripes that are looking to get introduced to, and become proficient in, Clojure. I myself have been circling the Clojure drainpipe for a while now, very nearly getting completely sucked in on numerous occasions. I've followed no one's advice though--I have not started small, and instead keep jumping into sophisticated middle parts and getting mired. [1] I think I would have benefitted from this book a year ago; I'm certainly benefitting from it now.

At 587 pages [2], "Clojure Programming" is hardly a tome, but it is comprehensive, appreciably thorough, and makes a concerted effort to be accessible to the Clojure and JVM neophyte. That being said, the book is also far from short, and makes no pretenses about easing you into the language: you'll be programming a naïve REPL by the end of chapter one. But this head-first approach is one of the reasons to love this book.

Emerick et al. found an excellent format for organizing the book, logically sequencing the material, and peppering chapters and sections with the right kind of illustrative, "koan"-style sample problems, eschewing the alternative of walking you through some contrived and over-arching application built one concept (and thus one chapter) at a time. As such, the book is broken into five sections:

1. Functional Programming and Concurrency (the foundation);
2. Building Abstractions (the sophisticated stuff);
3. Tools, Platform, and Projects (the eco-system);
4. Practicums (Clojure in the real world); and
5. Miscellanea (other important stuff).

What's marvelous about this structure is that you can decide for yourself whether to read it cover-to-cover, or whether to cherry-pick just the chapters relevant to your immediate challenges. What's helpful is that the book cross-references itself for many key concepts. In the thick of chapter one and you don't know what this "classpath" nonsense is? Jump ahead to chapter eight! [3] Deep into chapter nine and you're lost about how Clojure protocols relate to Java's interfaces? A footnote steers you back to chapter six! The care taken to create these kinds of cross-references is tremendously valuable because it allows you to opt-in to some advanced concepts early on, getting a preview of the powerful features ahead of you.

Though "Clojure Programming" is overflowing with thoughtful, detailed, and well-composed information, where it really shines is the "Practicums" section. When I first started skimming the chapters in this section, the first thought that occurred to me was: "Herein lies the true esoterica." I read about Clojure's numerics and mathematics, about its intriguing use of "rationals", about unchecked operations. I read about how to idiomatically implement different design patterns in Clojure. The deeper I got into this section though, the more that I realized that this was not a bunch of "out there" riddles and puzzles whose only purpose was to show off the sparkling fringes--no, this section was to demonstrate Clojure's solutions to "real world" problems, and the kind of advantages afforded you by its functional style. [4] That being said, I appreciated how Emerick et al. were vigilant in observing when different approaches or language features would serve you well, and when you would be wise to avoid them.

A few other items that I feel compelled to point out:

* The chapter on Java and JVM interoperability is strong. Anyone looking to introduce Clojure into their (JVM-based) organization would be wise to memorize this information...
* ...and then also memorize the chapter that specifically addresses how to go about introducing Clojure to your organization.
* As with the other Clojure texts I've read, their is a focus on discussing "idiomaticity", and differentiating between "working" or "valid" Clojure code, and <em>idiomatic</em> Clojure code. Seeing this again makes me wish that more authors writing about other languages put this much emphasis on idiomatic style.
* Also, I am filled with tremendous gratitude that Emerick et al., when they cite Wikipedia at all, cite particular articles as "a jumping off point" or as "a surprisingly good resource" for the subject matter. I have read several books recently that cite Wikipedia as an authoritative reference and... Well, I find that to be in bad form.

I find it easy to recommend "Clojure Programming" to anyone with an interest in the language. There is enough "introductory" material that smart programmers will be guided in the right directions as they get started, but there is also enough detailed coverage that the book will grow right along with you. The chapters on the Clojure eco-system will help to steer you toward the right tools and resources to organize, manage, and scale your projects--as well as how to integrate them laterally within the JVM. Lastly, the practicums give you concrete and balanced approaches to answering some of the questions that you go into the whole endeavor already asking. I will be referring to this book often as I continue my explorations into Clojure.

---

[1] Case study: the first significant chunk of time I spent with the language was with early drafts of The Joy of Clojure: Thinking the Clojure Way. "JoC" is definitely an "intermediate-to-advanced" book.

[2] Not counting the preface and index, which brings that up to 630.

[3] Which, I'd like to add, is currently my favorite semi-layman's explanation of the JVM's classpath.

[4] I suppose this should have been obvious from the name of the section. (What can I say? I got caught up in the details of rational numbers.)

Listmania!

Create a Listmania! list

Look for similar items by category


Feedback


Amazon.ca Privacy Statement Amazon.ca Shipping Information Amazon.ca Returns & Exchanges