出版社: Pragmatic Bookshelf
原作名: 2nd Edition
出版年: 2012-4-17
页数: 296
定价: USD 35.00
装帧: Paperback
ISBN: 9781934356869
内容简介 · · · · · ·
The second edition of Programming Clojure is the first book to cover the new features in Clojure 1.3. Clojure experts Stuart Halloway and Aaron Bedra have updated the first book on Clojure, and new examples have been added to demonstrate the power and depth of the new features. Programming Clojure, 2nd Edition covers new concepts like Protocols and Datatypes, as well as Clojure...
The second edition of Programming Clojure is the first book to cover the new features in Clojure 1.3. Clojure experts Stuart Halloway and Aaron Bedra have updated the first book on Clojure, and new examples have been added to demonstrate the power and depth of the new features. Programming Clojure, 2nd Edition covers new concepts like Protocols and Datatypes, as well as Clojure's changes to the numerics system. In addition, this book includes coverage of ClojureScript, a new platform for the Clojure language that rests on top of JavaScript. This book provides the foundation you need to understand the power of the Clojure language and how to wield it. Clojure is an increasingly important language. It recently overtook Scala in relative growth, and is becoming the language of choice for many who are moving to functional programming or dealing with the challenges of concurrency. More and more developers are starting to see what Clojure has to offer. * Simplicity. Clojure's clean, careful design lets you write programs that get right to the essence of a problem, without a lot of clutter and ceremony. * Clojure has the power inherent in Lisp, but is not constrained by its history. * Clojure is a functional language. Data structures are immutable, and functions tend to be side-effect free. This makes it easier to write correct programs, and to compose large programs from smaller ones. * Clojure is concurrent. Rather than error-prone locking, Clojure provides software transactional memory. * Clojure embraces Java. Calling from Clojure to Java is direct, and goes through no translation layer. * Clojure is fast. Wherever you need it, you can get the exact same performance that you could get from hand-written Java code. Many other languages offer some of these features, but the combination of them all makes Clojure sparkle. Programming Clojure, 2nd Edition shows you why these features are so important, and how you can use Clojure to build powerful programs quickly. Reviewers called the first edition of Programming Clojure "a masterwork," "well-organized and easy-to-read," "a great reference," "a mature and polished guide," and "a real pleasure to read." This second edition not only provides up-to-date coverage of the language, but is a fantastic reference that you can keep close to you during the development of your own Clojure programs. What You Need: * Oracle JDK 6 * A text editor
作者简介 · · · · · ·
Stuart Halloway Clojure/core成员、Relevance公司CTO。
Aaron Bedra Clojure/core成员,在担任Relevance公司开发者期间,他成为一名技术领袖、演讲家和作家。他对Clojure语言及其支持库贡献颇多,同时也是Clojure社区中的活跃分子。Aaron牵头开发了一些商业的Clojure项目。目前他在Groupon工作。
目录 · · · · · ·
Foreword for the First Edition
Acknowledgments
Preface
-
1. Getting Started
· · · · · · (更多)
Foreword for the First Edition
Acknowledgments
Preface
-
1. Getting Started
1.1 Why Clojure?
1.2 Clojure Coding Quick Start
1.3 Exploring Clojure Libraries
1.4 Wrapping Up
-
2. Exploring Clojure
2.1 Forms
2.2 Reader Macros
2.3 Functions
2.4 Vars, Bindings, and Namespaces
2.5 Calling Java
2.6 Flow Control
2.7 Where’s My for Loop?
2.8 Metadata
2.9 Wrapping Up
-
3. Unifying Data with Sequences
3.1 Everything Is a Sequence
3.2 Using the Sequence Library
3.3 Lazy and Infinite Sequences
3.4 Clojure Makes Java Seq-able
3.5 Calling Structure-Specific Functions
3.6 Wrapping Up
-
4. Functional Programming
4.1 Functional Programming Concepts
4.2 How to Be Lazy
4.3 Lazier Than Lazy
4.4 Recursion Revisited
4.5 Wrapping Up
-
5. State
5.1 Concurrency, Parallelism, and Locking
5.2 Refs and Software Transactional Memory
5.3 Use Atoms for Uncoordinated, Synchronous Updates
5.4 Use Agents for Asynchronous Updates
5.5 Managing Per-Thread State with Vars
5.6 A Clojure Snake
5.7 Wrapping Up
-
6. Protocols and Datatypes
6.1 Programming to Abstractions
6.2 Interfaces
6.3 Protocols
6.4 Datatypes
6.5 Records
6.6 reify
6.7 Wrapping Up
-
7. Macros
7.1 When to Use Macros
7.2 Writing a Control Flow Macro
7.3 Making Macros Simpler
7.4 Taxonomy of Macros
7.5 Wrapping Up
-
8. Multimethods
8.1 Living Without Multimethods
8.2 Defining Multimethods
8.3 Moving Beyond Simple Dispatch
8.4 Creating Ad Hoc Taxonomies
8.5 When Should I Use Multimethods?
8.6 Wrapping Up
-
9. Java Down and Dirty
9.1 Exception Handling
9.2 Wrestling with the Integers
9.3 Optimizing for Performance
9.4 Creating Java Classes in Clojure
9.5 A Real-World Example
9.6 Wrapping Up
-
10. Building an Application
10.1 Scoring a Clojurebreaker Game
10.2 Testing the Scorer
10.3 test.generative
10.4 Creating an Interface
10.5 Deploying Your Code
10.6 Farewell
-
A1. Editor Support
A2. Bibliography
-
Index
· · · · · · (收起)
喜欢读"Programming Clojure"的人也喜欢 · · · · · ·
Programming Clojure的书评 · · · · · · ( 全部 8 条 )
学习 Clojure 编程的极佳入门书!
Two Clojure Books
这篇书评可能有关键情节透露
Reading technical books is always heavy and hard to say fun, but if it’s a must(e.g your school, your job), you’d better try to get some fun if possible. Clojure is a new programming language for me, which is also my first serious functional programming l... (展开)Clojure经典之作
Clojure之父强烈推荐
> 更多书评 8篇
论坛 · · · · · ·
在这本书的论坛里发言这本书的其他版本 · · · · · · ( 全部4 )
-
人民邮电出版社 (2013)7.5分 71人读过
-
Pragmatic Bookshelf (2009)8.1分 51人读过
-
O′Reilly (2018)暂无评分 5人读过
以下书单推荐 · · · · · · ( 全部 )
- Lisp的学习 ([已软注销])
- todo (沉)
- Clojure 书籍一览表【付简评】 (huangz)
- 2011年Dr.Dobb's Jolt图书大奖 (huangz)
- Clojure (李鼎)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
- 在豆瓣转让 有70人想读,手里有一本闲着?
订阅关于Programming Clojure的评论:
feed: rss 2.0
1 有用 huangz 2012-04-25 09:24:11
和第一版相比改动不大,主要更新是添加了 protocols 和 datatypes 部分的内容,删除了一些多余的例子,比起旧版的页数更少了。仍然是一本好读的、 pragmatic 风格的 clojure 入门书。
0 有用 r2g2 2013-06-08 16:43:39
电子档
0 有用 大男孩 2014-04-02 23:16:37
通俗易懂,很适合入门,我是结合clojure编程一起看的
0 有用 门牙赛大棒 2014-04-26 21:30:24
入门书,还不错,看的是英文版,半懂不懂
0 有用 Spike 2020-07-23 00:53:04
讲得有点琐碎,不太好读。
0 有用 Spike 2020-07-23 00:53:04
讲得有点琐碎,不太好读。
0 有用 一代天椒 2016-01-20 13:36:30
不是很系统. macros跳过去不看了.
0 有用 angwer 2014-07-03 17:07:10
更新了语言特性,其余没差
0 有用 门牙赛大棒 2014-04-26 21:30:24
入门书,还不错,看的是英文版,半懂不懂
0 有用 大男孩 2014-04-02 23:16:37
通俗易懂,很适合入门,我是结合clojure编程一起看的