The joy of clojure, 2nd edition

520 164 0
The joy of clojure, 2nd edition

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MANNING SECOND EDITION Michael Fogus Chris Houser FOREWORD BY William E Byrd & Daniel P Friedman www.it-ebooks.info 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 You’ll 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, it’s 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, it’s 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 www.it-ebooks.info www.it-ebooks.info The Joy of Clojure SECOND EDITION MICHAEL FOGUS CHRIS HOUSER MANNING SHELTER ISLAND www.it-ebooks.info 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 Recognizing the importance of preserving what has been written, it is Manning’s 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 Manning Publications Co 20 Baldwin Road PO Box 261 Shelter Island, NY 11964 Development editor: Copyeditor: Proofreader: Typesetter: Cover designer: ISBN 9781617291418 Printed in the United States of America 10 – EBM – 19 18 17 16 15 14 www.it-ebooks.info Nermina Miller Benjamin Berg Tiffany Taylor Dottie Marsico Marija Tudor To Timothy Hart—a hacker of the highest order Rest in peace www.it-ebooks.info www.it-ebooks.info brief contents PART FOUNDATIONS 1 ■ ■ ■ Clojure philosophy Drinking from the Clojure fire hose Dipping your toes in the pool 51 25 PART DATA TYPES 67 ■ ■ On scalars 69 Collection types 84 PART FUNCTIONAL PROGRAMMING .115 ■ ■ Being lazy and set in your ways 117 Functional programming 136 PART LARGE-SCALE DESIGN 171 10 11 ■ ■ ■ ■ Macros 173 Combining data and code 194 Mutation and concurrency 224 Parallelism 262 vii www.it-ebooks.info viii BRIEF CONTENTS PART HOST SYMBIOSIS .275 12 13 ■ ■ Java.next 277 Why ClojureScript? 310 PART TANGENTIAL CONSIDERATIONS 331 14 15 16 17 ■ ■ ■ ■ Data-oriented programming 333 Performance 363 Thinking programs 393 Clojure changes the way you think 423 www.it-ebooks.info contents foreword to the second edition xix foreword to the first edition xxi preface xxiii acknowledgments xxv about this book xxvii about clojure xxxvii about the cover illustration xxxix PAT 1 FOUNDATIONS .1 Clojure philosophy 1.1 The Clojure way Simplicity Freedom to focus Clarity Consistency ■ ■ Empowerment ■ 1.2 Why a(nother) Lisp? Beauty 1.3 ■ But what’s with all the parentheses? Functional programming 16 A workable definition of functional programming 16 The implications of functional programming 17 1.4 Why Clojure isn’t especially object-oriented 17 Defining terms 17 Imperative “baked in” OOP gives you, Clojure provides 19 ■ 1.5 Summary 24 ix www.it-ebooks.info 18 ■ Most of what ... handling 17.5 433 Fare thee well 447 ■ Debugging 454 resources 455 index 461 www.it-ebooks.info 450 ■ Contracts foreword to the second edition In this second edition of The Joy of Clojure, Michael... Creator of the Leiningen build tool, Heroku A fun exploration of functional programming and Lisp —Matt Revelle Cofounder, Woven, Inc www.it-ebooks.info www.it-ebooks.info The Joy of Clojure SECOND EDITION. .. on the scene 15 years ago There have been plenty of pretenders to the JVM throne, languages that promised to take the Java platform to unprecedented new levels But until now, none of them had the

Ngày đăng: 12/03/2019, 13:19

Từ khóa liên quan

Mục lục

  • Joy of Clojure

  • brief contents

  • contents

  • foreword to the second edition

  • foreword to the first edition

  • preface

  • acknowledgments

  • about this book

    • Why learn Clojure?

    • Who should read this book?

    • Roadmap

      • Foundations

      • Data types

      • Functional programming

      • Large-scale design

      • Host symbiosis

      • Tangential considerations

      • Code conventions

      • Reading Clojure code

      • Getting Clojure

        • The Leiningen REPL

        • A Leiningen project file

        • Downloading code examples

Tài liệu cùng người dùng

Tài liệu liên quan