• Complain

Michael Fogus - The Joy of Clojure

Here you can read online Michael Fogus - The Joy of Clojure full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2014, publisher: Manning Publications, genre: Home and family. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Michael Fogus The Joy of Clojure

The Joy of Clojure: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "The Joy of Clojure" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Summary

The Joy of Clojure, Second Edition is a deep look at the Clojure language. Fully updated for Clojure 1.6, this new edition goes beyond just syntax to show you the why of Clojure and how to write fluent Clojure code. Youll learn functional and declarative approaches to programming and will master the techniques that make Clojure so elegant and efficient.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology

The Clojure programming language is a dialect of Lisp that runs on the Java Virtual Machine and JavaScript runtimes. It is a functional programming language that offers great performance, expressive power, and stability by design. It gives you built-in concurrency and the predictable precision of immutable and persistent data structures. And its really, really fast. The instant you see long blocks of Java or Ruby dissolve into a few lines of Clojure, youll know why the authors of this book call it a joyful language. Its no wonder that enterprises like Staples are betting their infrastructure on Clojure.

About the Book

The Joy of Clojure, Second Edition is a deep account of the Clojure language. Fully updated for Clojure 1.6, this new edition goes beyond the syntax to show you how to write fluent Clojure code. Youll learn functional and declarative approaches to programming and will master techniques that make Clojure elegant and efficient. The book shows you how to solve hard problems related to concurrency, interoperability, and performance, and how great it can be to think in the Clojure way.

Appropriate for readers with some experience using Clojure or common Lisp.

Whats Inside

  • Build web apps using ClojureScript
  • Master functional programming techniques
  • Simplify concurrency
  • Covers Clojure 1.6

About the Authors

Michael Fogus and Chris Houser are contributors to the Clojure and ClojureScript programming languages and the authors of various Clojure libraries and language features.

Table of Contents

    PART 1 FOUNDATIONS
  1. Clojure philosophy
  2. Drinking from the Clojure fire hose
  3. Dipping your toes in the pool
  4. PART 2 DATA TYPES
  5. On scalars
  6. Collection types
  7. PART 3 FUNCTIONAL PROGRAMMING
  8. Being lazy and set in your ways
  9. Functional programming
  10. PART 4 LARGE-SCALE DESIGN
  11. Macros
  12. Combining data and code
  13. Mutation and concurrency
  14. Parallelism
  15. PART 5 HOST SYMBIOSIS
  16. Java.next
  17. Why ClojureScript?
  18. PART 6 TANGENTIAL CONSIDERATIONS
  19. Data-oriented programming
  20. Performance
  21. Thinking programs
  22. Clojure changes the way you think

Michael Fogus: author's other books


Who wrote The Joy of Clojure? Find out the surname, the name of the author of the book and a list of all author's works by series.

The Joy of Clojure — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "The Joy of Clojure" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
The Joy of Clojure, Second Edition
Michael Fogus and Chris Houser

The Joy of Clojure - image 1

Copyright

For online information and ordering of this and other Manning books, please visit www.manning.com. The publisher offers discounts on this book when ordered in quantity. For more information, please contact

Special Sales Department Manning Publications Co. 20 Baldwin Road PO Box 261 Shelter Island, NY 11964 Email: orders@manning.com

2014 by Manning Publications Co. All rights reserved.

No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher.

Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and Manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps.

Picture 2 Recognizing the importance of preserving what has been written, it is Mannings policy to have the books we publish printed on acid-free paper, and we exert our best efforts to that end. Recognizing also our responsibility to conserve the resources of our planet, Manning books are printed on paper that is at least 15 percent recycled and processed without the use of elemental chlorine.

Picture 3Manning Publications Co.20 Baldwin RoadPO Box 261Shelter Island, NY 11964Development editor: Nermina MillerCopyeditor: Benjamin BergProofreader: Tiffany TaylorTypesetter: Dottie MarsicoCover designer: Marija Tudor

ISBN 9781617291418

Printed in the United States of America

1 2 3 4 5 6 7 8 9 10 EBM 19 18 17 16 15 14

Dedication

To Timothy Harta hacker of the highest order. Rest in peace.

Brief Table of Contents
Table of Contents
Praise for the First Edition

The authors blaze through many of the classics of both functional programming and industry programming in a whirlwind tour of Clojure that feels at times more like a class-five tropical storm. Youll learn fast!

From the Foreword by Steve Yegge, Google

The Joy of Clojure wants to make you a better programmer, not just a better Clojure programmer. I would absolutely recommend this to anyone I know who had an interest in Clojure and/or functional programming.

Rob Friesel Dealer.com Websystems

Teaches the Tao of Clojure and, oh boy, its such a joy! Simply unputdownable!

Baishampayan Ghose (BG) Cofounder & CTO, Qotd, Inc.

The Clojure community, present and future, will be grateful for this book.

Andrew Oswald Chariot Solutions

Discover the why not just the how of Clojure

Federico Tomassetti Politecnico di Torino

The Joy of Clojure really lives up to its name! Every page oozes with the excitement @fogus and @chrishouser have for the language and its community. This is exactly what makes this book such an enjoyable read, its hard not to get drawn into the beauty of Clojure when you have two convinced developers sharing their passion with you.

Amazon Reader M.K.

What Irma Rombauer did for cooking, Fogus and Houser have done for Clojure! By going beyond the basics, this book equips the reader to think like a native speaker in Clojure-land.

Phil Hagelberg Creator of the Leiningen build tool, Heroku

A fun exploration of functional programming and Lisp.

Matt Revelle Cofounder, Woven, Inc.

Foreword to the Second Edition

In this second edition of The Joy of Clojure, Michael Fogus and Chris Houser present a cornucopia of programming concepts, including many of the topics from the programming languages course we taught together for many years. Fundamental programming languages concepts close to our hearts that appear in this book include higher-order functions, lexical scope, closures, tail recursion, mutual recursion, continuations and continuation-passing style, trampolining, lazy sequences, macros, and relational programming. Most important, Fogus and Houser teach you how to define your own little languages.

Alan J. Perlis, brilliant language designer and inaugural Turing Award recipient, famously wrote, There will always be things we wish to say in our programs that in all known languages can only be said poorly. No existing programming language can express precisely those concepts and abstractions needed for your specific application. The only person who can design a language to solve your exact problem is you.

Creating a little language to solve a specific problem is the most effective technique yet devised for reducing complexity in software.[] Two well-known examples are database query languages and the formula languages of spreadsheet applications. These examples are as notable for what they exclude as for what they include, illustrating another of Perliss epigrams: A programming language is low level when its programs require attention to the irrelevant. By only including features relevant to the problem, a well-designed little language is inherently high level.

Jon Bentley popularized the concept of little languages in his article Programming Pearls: Little Languages, Communications of the ACM 29, no. 8 (1986):711-21.

Database query languages illustrate another fundamental aspect of little languages: writing a complete application requires addressing problems in more than one domain. An application that performs database queries will also make use of other languages. A single little language cant address the exact needs of a nontrivial application any more than can a single general-purpose language.

For this reason, little languages work best in concert. The ideal technique for writing a complex program is to slice it into multiple problem-specific pieces and then define a language for each problem slice. If we slice the program vertically, the result is a tower of languages, layered atop one another. Regardless of how we slice the overall problem, we can use the right language, and the right paradigm, for each subproblem.

As with recursion, the art of defining little languages encouragesand rewardswishful thinking. You might think to yourself, If only I had a language for expressing the rules for legal passwords for my login system. A more involved examplea story, reallystarted several years ago, when we thought to ourselves, If only we had the right relational language, we could write a Lisp interpreter that runs backward.[] What does this mean?

We use Lisp to refer to any member of a large family of languages that includes Scheme, Racket, Common Lisp, Dylan, and, of course, Clojure. To us, a Lisp must be homoiconic, have first-class functions, and have some form of macros. (All three concepts are described in this book.)

An interpreter can be thought of as a function that maps an input expression, such as (+ 5 1), onto a valuein this case, 6. We wanted to write an interpreter in the style of a relational database, in which either the expression being interpreted or the value of that expression, or both, can be treated as unknown variables. We can run the interpreter forward using the query (interpret '(+ 5 1) x), which associates the query variable x with the value 6. Better yet, we can run the interpreter

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «The Joy of Clojure»

Look at similar books to The Joy of Clojure. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «The Joy of Clojure»

Discussion, reviews of the book The Joy of Clojure and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.