or
Sign in to turn on 1-Click ordering.
Trade in Yours
For a Ģ1.65 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Colour:
Image not available

 
Tell the Publisher!
I’d like to read this book on Kindle

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

Clojure in Action [Paperback]

Amit Rathore
4.5 out of 5 stars  See all reviews (2 customer reviews)
RRP: Ģ33.99
Price: Ģ29.91 & this item Delivered FREE in the UK with Super Saver Delivery. See details and conditions
You Save: Ģ4.08 (12%)
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 3 left in stock (more on the way).
Dispatched from and sold by Amazon. Gift-wrap available.
Want delivery by Tuesday, 28 May? Choose Express delivery at checkout. See Details
Amazon.co.uk Trade-In Store
Did you know you can trade in your old books for an Amazon.co.uk Gift Card to spend on the things you want? Visit the Books Trade-In Store for more details. Learn more.

Book Description

17 Nov 2011 1935182595 978-1935182597 1

Summary

Clojure in Action is a hands-on tutorial for the working programmer who has written code in a language like Java or Ruby, but has no prior experience with Lisp. It teaches Clojure from the basics to advanced topics using practical, real-world application examples. Blow through the theory and dive into practical matters like unit-testing and environment set-up, all the way through building a scalable web-application using domain-specific languages, Hadoop, HBase, and RabbitMQ.

About the Technology

Clojure is a modern Lisp for the JVM, and it has the strengths you'd expect: first-class functions, macros, support for functional programming, and a Lisp-like, clean programming style.

About this Book

Clojure in Action is a practical guide focused on applying Clojure to practical programming challenges. You'll start with a language tutorial written for readers who already know OOP. Then, you'll dive into the use cases where Clojure really shines: state management, safe concurrency and multicore programming, first-class code generation, and Java interop. In each chapter, you'll first explore the unique characteristics of a problem area and then discover how to tackle them using Clojure. Along the way, you'll explore practical matters like architecture, unit testing, and set-up as you build a scalable web application that includes custom DSLs, Hadoop, HBase, and RabbitMQ.

Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.

What's Inside
  • A fast-paced Clojure tutorial
  • Creating web services with Clojure
  • Scaling through messaging
  • Creating DSLs with Clojure's macro system
  • Test-driven development with Clojure
  • Distributed programming with Clojure and more

This book assumes you're familiar with an OO language like Java, C#, or C++, but requires no background in Lisp or Clojure itself.

==================================

Table of Contents
    PART 1 GETTING STARTED
  1. Introduction to Clojure
  2. A whirlwind tour
  3. Building blocks of Clojure
  4. Polymorphism with multimethods
  5. Clojure and Java interop
  6. State and the concurrent world
  7. Evolving Clojure through macros
  8. PART 2 GETTING REAL
  9. Test-driven development and more
  10. Data storage with Clojure
  11. Clojure and the web
  12. Scaling through messaging
  13. Data processing with Clojure
  14. More on functional programming
  15. Protocols, records, and type
  16. More macros and DSLs

Frequently Bought Together

Clojure in Action + The Joy of Clojure: Thinking the Clojure Way + Clojure Programming
Price For All Three: Ģ77.58

Buy the selected items together


Product details

  • Paperback: 432 pages
  • Publisher: Manning Publications; 1 edition (17 Nov 2011)
  • Language: English
  • ISBN-10: 1935182595
  • ISBN-13: 978-1935182597
  • Product Dimensions: 18.8 x 2.3 x 23.3 cm
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (2 customer reviews)
  • Amazon Bestsellers Rank: 559,210 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, and more.

Product Description

About the Author

Amit Rathore is a VP of Engineering and has a decade of experience building highly performant, data-heavy web applications.


Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

What Other Items Do Customers Buy After Viewing This Item?


Customer Reviews

3 star
0
2 star
0
1 star
0
4.5 out of 5 stars
4.5 out of 5 stars
Most Helpful Customer Reviews
2 of 2 people found the following review helpful
4.0 out of 5 stars 0 to 50 in 2.1 seconds 18 Dec 2011
Format:Paperback
Wow, what a thrilling ride this book was! It takes you from the standard "Hello World" one liner (thankfully covered in one line unlike a lot of books) through the standard language features and then all the way up to handling things like STM (software transactional memory), map-reduce, using RabbitMQ and connecting to non-relational data stores such as Redis and HBase. Of course there's a limit to how much depth can be covered in about 400 pages but the author still manages to make all the code samples feel 'real world'-like enough that the techniques could applied to concrete problems.

The author takes the approach of describing each topic in a reasonable amount of detail before introducing any code - an approach that works particularly well with Lisp/Clojure's fairly compact syntax and the non-trivial applications covered in part 2 of the book.

I came to this book with a little bit of Lisp (but no Clojure or Java) but I don't think that's required to follow the book's content - but you will definitely need to be fully familiar with some other OO language such as Java, C# (as in my case), Python, C++, etc.

One thing that is a little tiresome in the book, particularly at the beginning, is the constant reference to other languages as being 'lesser' to Clojure. Different languages have their pluses and minuses but it's a bit of a stretch to imply that one language is globally superior. Maybe it's the author's way of trying to excite the reader, but for me at least it was completely unnecessary (the language can speak for itself).

Overall a superb book though which makes me want to explore this language further (probably Joy of Clojure next, which has so far been sitting on my bookshelf).
Comment | 
Was this review helpful to you?
Format:Paperback
"Clojure in Action" was not an easy reading nor was it a tough one. The book simply deserves a great deal of patience and enough time to study. Without such an attitude, you may find no prospect of success in understanding the concepts. I fell into this trap few times when I cared more about scoring a chapter over understanding the subject completely.

I'm wholeheartedly delighted that Manning offered me a review copy of "Clojure in Action" as I tend to believe I would not have understood functional programming in Clojure as much as I did with the book. That's doubtlessly the book you ought to read if you really want to delve into Clojure. Reading the book will have an enormous effect on your state of mind about functional programming applied to practical use cases.

Quoting the book (page xviii):

"There are dozens of other popular languages"

So how could one expect Clojure will ultimately become such, if ever? It's certainly a challenge, isn't it? Yet, despite homoiconicity that seems to scare people to death only because they seem reluctant to spare a tiny fraction of their time to understand and ultimately appreciate it, Clojure draws attention. The book certainly helps achieve more in trying to understand why it happens.

Imagine reading a book that explains the language syntax, its goals, and makes its uses from the very first pages. Imagine reading a book that delves into details without wasting time for gory details unnecessary for the task at hand. Finally, imagine reading a book that simply gets you feel comfortable with Clojure. That's "Clojure in Action". Perhaps the most satisfactory aspect of this book is the fact that while reading the book you feel guided and warmly encouraged to try out what you learn as if you were in a class with a teacher.

When I first noticed "Clojure in Action", I imagined it's kind of a cookbook - a book with recipes to achieve something practical. I'd already read "The Joy of Clojure", "Practical Clojure", "Programming Clojure", "Programming Concurrency on the JVM", and was wondering what the book could offer that the others didn't. The many references to the concepts of programming languages like classes vs maps, homoiconicity, inheritance, duck typing, single dispatch, polymorphism and such allowed me to become a more conscious Java programmer as I was learning Clojure.

Read the book for your good.

Section 1.2.1 about XML and parentheses should be a mandatory reading for anyone who deals with either - certainly for those who can't live with parentheses in Clojure (or any Lisp language). It's written in a simple and easy way, so with its reading you may ultimately appreciate simplicity of Clojure's syntax. I hope Chapter 1 becomes public domain one day so everybody could read it.

The book may however seem uneasy for newbies in Clojure. It uses idiomatic Clojure constructs freely, often without explanation beforehand. You'll find many examples that are very basic while many will take quite large chunk of your time to grasp. Many, many examples of varying level of complexity are what I was after when I picked the book and I was not disappointed at all.

Figures, many use cases with inspiring code snippets, and finally gentle explanation of solutions equipped with the mental process that led to them makes the book a mandatory reading for every programmer, regardless of the language of choice. I bet no one would regret its reading. Fair explanation of Clojure features invites for reading from cover to cover. No typos, comprehensive writing style and a slew of examples encourages reading the book many times.

A perfect book for someone is the worse for another person. "Clojure in Action" has its itches that I would barely accept as a technical reviewer, esp. Section 2.1.1 "Installing Clojure" goes through its compilation to get Clojure installed while Leiningen may have done it better. There's no mention of Leiningen, but it's the project management tool of choice for many (all?) Clojure projects. I also found one place repeated almost word by word. Not much about the difference between let and binding forms in Clojure. Some may also find too few pages about Clojure's approach to state, mutation and concurrency in Chapter 6.

The book once more proves that books written by experts in a field are excellent resource of practical knowledge. Not only does it teach Clojure, but also the way of thinking attached to the process of developing Clojure applications.

Should you need some bullets to smash Clojure off the ground or want immensely well-thought-out examples of its uses, grab the book and have a nice reading. You miss no minute as you read along.
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 4.8 out of 5 stars  6 reviews
19 of 20 people found the following review helpful
5.0 out of 5 stars I love this book 2 Feb 2012
By Duraid - Published on Amazon.com
Format:Paperback
I'm coming to Clojure from C# and, as the author puts it, it's a daunting journey. There is a lot to learn. The functional paradigm, lisp specifics (macros etc), clojure specifics (STM, persitent data structures, protocols, etc). It's not like learning python or ruby. It's fundamentally differnt ball game. I read a lot of stuff online and I read "Practical Clojure" that was published before this book but all of them were ranting about how great and superior Clojure is to everything else which wasn't very helpful and actually is annoying.

This book was different. It's all practical and zero BS and it shows step by step the clojure way. For example I liked how clojure multi-methods polymorphism was explained. It starts by showing the limitation of single dispatch and then showing alternatives in Java through the visitor pattern and then shows clojure multimethods. All of course is done through writing code. Now I know exactly the problem that multimethods solves and I'm confident to apply them in my design.

A similar example is protocols where the author builds an equivalent functionality to protocols with multi-methods and then replaces them at the end with protocols which make you understand exactly why protocls exist and when to use them.

I also learned about things I wasn't expecting to learn when I bought this book like the expression problem, multiple dispatch and also HBase, Hadoop, RabbitMQ and other components that are essential to modern application architecture and how to work with them in clojure.

I would like to thank the author for the apparent effort and passion he put in this book. Congratulations, job perfectly done.

When you learn Clojure (and Lisp in general) you don't learn about a better technology only, you also learn about better people.
4 of 4 people found the following review helpful
5.0 out of 5 stars Learning Clojure with an emphasis on Real-world engineering issues 8 April 2012
By Alexander Baranosky - Published on Amazon.com
Format:Paperback
This is one of the unsung greats in the Clojure book genre. This books brings the features of Clojure together and shows how they can be used cohesively to implement a number of engineering solutions. Each solution is stunningly simple and elegant. I highly recommend this book.
8 of 10 people found the following review helpful
5.0 out of 5 stars Excellent intro to Clojure 21 Dec 2011
By SteveSJ76 - Published on Amazon.com
Format:Paperback
This was the ideal book for me to start learning Clojure with. As an experienced programmer, but new to Lisp and Clojure, I found this book very helpful. It is clear and well written, and moves through concepts at just the right pace. I found Clojure in Action more palpable than The Joy of Clojure (which I plan to read next). I am also reading The Little Schemer at the same time as Clojure in Action and I highly recommend this approach. That said, there was a chapter or two that seemed like it could have used a bit more editing. Still, I highly recommend this book.
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Listmania!


Look for similar items by category


Feedback


Amazon.co.uk Privacy Statement Amazon.co.uk Delivery Information Amazon.co.uk Returns & Exchanges