`

Clojure程序设计

阅读更多

《Clojure程序设计》
基本信息
作者: (美)Stuart Halloway Aaron Bedra [作译者介绍]
出版社:人民邮电出版社
ISBN:9787115308474
上架时间:2013-3-1
出版日期:2013 年3月
开本:16开
页码:230
版次:1-1
所属分类:计算机 > 软件与程序设计 > JAVA(J#) > Java

更多关于 》》》《Clojure程序设计
内容简介
计算机书籍
  clojure是一种基于java虚拟机的动态编程语言。它功能强大,支持函数式编程,简化了并发编程,并且能调用java程序。正是这些优点,使其赢得了众多程序员的青睐。
   本书是介绍clojure编程语言和程序设计的经典之作。第2版针对clojure 1.3进行了全面的更新。全书共包括10章,分别介绍了clojure概览和基本特性、序列和函数式编程、并发编程模型、协议和数据类型、宏、多重方法,以及clojure对java的调用。最后提供了一个完整了解clojure应用开发全过程的实例。
  《clojure程序设计》适合有不同语言背景而想要学习和了解clojure编程的程序员阅读。函数式程序员、java和c#程序员、lisp程序员,以及perl、python和ruby程序员,都能够通过阅读本书得到不同程度的收获。
目录
《clojure程序设计》
第1章 启航 1
1.1 为什么是clojure 2
1.1.1 clojure非常优雅 2
1.1.2 clojure是lisp的再度崛起 5
1.1.3 为什么是lisp 5
1.1.4 它是lisp,但括号少了 6
1.1.5 clojure是函数式语言 8
1.1.6 clojure简化了并发编程 9
1.1.7 clojure与java虚拟机彼此亲密无间 10
1.2 clojure编程快速入门 11
1.2.1 使用repl 12
1.2.2 特殊变量 13
1.2.3 添加共享状态 14
1.3 探索clojure的程序库 16
1.3.1 require和use 17
1.3.2 查找文档 18
1.4 小结 20
第2章 探索clojure 21
2.1 形式 21
.2.1.1 使用数值类型 22
2.1.2 符号 24
2.1.3 字符串与字符 25
2.1.4 布尔值与nil 27
2.1.5 映射表、关键字和记录 28
2.2 读取器宏 30
2.3 函数 32
2.3.1 匿名函数 34
2.3.2 何时使用匿名函数 36
2.4 变量、绑定和命名空间 36
2.4.1 绑定 37
2.4.2 解构 38
2.4.3 命名空间 40
2.5 调用java 43
2.5.1 访问构造函数、方法和字段 43
2.5.2 javadoc 45
2.6 流程控制 45
2.6.1 分支结构与if 45
2.6.2 用do引入副作用 46
2.6.3 循环与loop/recur 47
2.7 我的for循环哪儿去了 48
2.8 元数据 52
2.9 小结 53
第3章 一切皆序列 55
3.1 一切皆序列 56
3.2 使用序列库 61
3.2.1 创建序列 61
3.2.2 过滤序列 64
3.2.3 序列谓词 65
3.2.4 序列转换 66
3.3 惰性和无限序列 69
3.4 java亦可序化 71
3.4.1 序化java容器 71
3.4.2 序化正则表达式 73
3.4.3 序化文件系统 74
3.4.4 序化流 75
3.4.5 序化xml 76
3.5 调用特定于结构的函数 77
3.5.1 列表函数 77
3.5.2 向量函数 78
3.5.3 映射表函数 79
3.5.4 集合函数 82
3.6 小结 85
第4章 函数式编程 86
4.1 函数式编程理念 86
4.1.1 纯函数 87
4.1.2 持久性数据结构 87
4.1.3 惰性和递归 88
4.1.4 引用透明性 89
4.1.5 fp的优势 89
4.1.6 6条规则 90
4.2 怎样偷个懒 91
4.2.1 尾递归 92
4.2.2 自递归与recur 94
4.2.3 惰性序列 95
4.2.4 聊聊变现 97
4.2.5 丢弃头元素 98
4.3 懒上加懒 99
4.4 再议递归 105
4.4.1 转换为自递归 106
4.4.2 采用trampolining技术 107
4.4.3 用惰性化替代递归 109
4.4.4 用快存为递归抄条近路 112
4.5 小结 114
第5章 状态 115
5.1 并发、并行和锁定 116
5.2 引用与软事务内存 117
5.2.1 ref-set 118
5.2.2 事务的属性 118
5.2.3 alter 119
5.2.4 stm的工作原理:mvcc 120
5.2.5 commute 121
5.2.6 alter优先 122
5.2.7 为引用添加验证 123
5.3 使用原子进行非协同、同步的更新 124
5.4 使用代理进行异步更新 125
5.4.1 代理的验证与错误处理 126
5.4.2 在事务中包含代理 127
5.4.3 统一的更新模型 129
5.5 用变量管理线程内状态 129
5.5.1 远距离作用 131
5.5.2 用于java回调api 132
5.6 clojure贪吃蛇 134
5.6.1 函数式模型 135
5.6.2 使用stm建立可变模型 139
5.6.3 贪吃蛇的gui 140
5.6.4 没有引用的贪吃蛇 143
5.7 小结 144
第6章 协议和数据类型 145
6.1 针对抽象编程 145
6.2 接口 148
6.3 协议 149
6.4 数据类型 153
6.5 记录 158
6.6 具体化 164
6.7 小结 165
第7章 宏 166
7.1 何时使用宏 166
7.2 编写流程控制宏 167
7.2.1 特殊形式、设计模式和宏 169
7.2.2 宏展开 170
7.2.3 when与when-not 172
7.3 让宏更加简单 173
7.3.1 语法引述、解引述和解引述拼接 175
7.3.2 在宏内部创建名称 176
7.4 宏的分类 178
7.4.1 有条件的求值 180
7.4.2 创建变量 181
7.4.3 java互操作 183
7.4.4 延迟求值 184
7.4.5 对求值进行包装 184
7.4.6 避免lambda表达式 186
7.5 小结 187
第8章 多重方法 188
8.1 没有多重方法的日子 188
8.2 定义多重方法 190
8.2.1 调度是继承感知的 192
8.2.2 多重方法的默认值 192
8.3 调度不简单 193
8.4 创建特设分类法 195
8.5 何时应该使用多重方法 199
8.5.1 inspector 200
8.5.2 clojure.test 201
8.5.3 反例 202
8.6 小结 203
第9章 极尽java之所能 204
9.1 异常处理 205
9.1.1 保持简单的异常处理 205
9.1.2 清理资源 206
9.1.3 响应异常 207
9.2 与整数搏斗 209
9.3 性能优化 210
9.3.1 使用基本类型提升性能 210
9.3.2 添加类型提示 213
9.4 在clojure中创建java类 215
9.4.1 创建java代理 215
9.4.2 使用java容器 217
9.5 真实世界的例子 220
9.5.1 真正的持续循环 222
9.5.2 日志 224
9.5.3 配置 226
9.6 小结 227
第10章 搭建应用 228
10.1 为电码译员游戏计分 229
10.2 测试计分器 232
10.2.1 手工构造输入 233
10.2.2 运行测试 234
10.2.3 验证输出 235
10.2.4 回归测试 236
10.3 test.generative 237
10.3.1 生成数据 237
10.3.2 程序化验证 238
10.3.3 defspec 240
10.3.4 运行测试 241
10.3.5 规格执行失败时 242
10.3.6 计分函数的产生式测试 243
10.4 创建用户界面 244
10.4.1 该是时候处理状态了 245
10.4.2 玩家界面 246
10.5 部署代码 249
10.5.1 procfile 250
10.5.2 heroku库 250
10.5.3 git 251
10.5.4 安置你的应用 251
10.5.5 部署 252
10.6 小结 252
附录 编辑器 254
参考书目 255

图书信息来源:中国互动出版

0
0
分享到:
评论

相关推荐

    [Clojure] Clojure 编程 (英文版)

    [奥莱理] Clojure 编程 (英文版) [奥莱理] Clojure Programming (E-Book) ☆ 出版信息:☆ [作者信息] Chas Emerick, Brian Carper, Christophe Grand [出版机构] 奥莱理 [出版日期] 2012年04月19日 [图书页数...

    Programming Clojure 英文电子版

    1. **Elegance**: Clojure的设计简洁明了,使得开发者能够专注于问题的核心,而不是被各种细节所困扰。 2. **Lisp Reloaded**: 尽管继承了Lisp的强大功能,但Clojure并不受限于Lisp的历史负担,它采用了更现代的...

    Clojure编程乐趣]+clojure_programming.pdf

    Clojure的设计目标是提供一个高效、并发、可移植的环境,适合解决现代软件开发中的复杂问题。在这个“Clojure编程乐趣”中,我们将深入探讨Clojure的核心概念和特性。 首先,Clojure强调函数式编程,这意味着程序被...

    clojure电子书

    这本书涵盖了Clojure的基础语法、数据结构、控制流、函数式编程概念以及如何利用Clojure进行系统设计。此外,书中还深入探讨了Clojure的高级特性,如宏、动态绑定以及与Java平台的集成。中文版的《Clojure编程》则为...

    Clojure入门教程- Clojure – Functional Programming for the JVM中文版

    这种设计使得Clojure非常适合进行函数式编程。 - **纯函数**: 在Clojure中,函数被认为是“纯”的,即对于相同的输入总是返回相同的结果,不受外部环境的影响。这种设计简化了调试和测试过程。 - **不变性数据结构**...

    clojure1.6

    Clojure的设计目标是提供一种与Java平台无缝集成的、并发友好的、动态类型的语言,它强调代码即数据的原则,这使得Clojure程序易于编写、测试和维护。 Clojure 1.6 版本包含了多个关键改进和新特性。首先,它提升了...

    programming-clojure-3rd

    Clojure是由Rich Hickey设计的,它运行在Java虚拟机(JVM)上,同时也支持JavaScript环境和其他平台。这本书涵盖了从基础语法到高级特性的广泛内容,对于想要学习或提升Clojure技能的程序员来说,是一份宝贵的资源。...

    eclipse的clojure插件

    对于调试,Counterclockwise提供了丰富的断点设置和控制台输出查看功能,使得调试Clojure程序如同调试Java或其他面向对象语言一样简单。它还可以显示堆栈跟踪,帮助开发者找出程序中的错误源头。 除了上述核心功能...

    七种武器:编程语言集锦(套装共7本)

    Dart语言程序设计 Clojure程序设计 像计算机科学家一样思考C++ 像计算机科学家一样思考Java 深入理解Scala 趣学Python——教孩子学编程 JavaScript忍者秘籍

    编程语言集锦(套装共 7 本)

    像计算机科学家一样思考 C++ 像计算机科学家一样思考 Java 深入理解 Scala 趣学 Python——教孩子学编程 Dart 语言程序设计 Clojure 程序设计 JavaScript 忍者秘籍

    Toucan一个优雅的高级Clojure库用于定义应用程序模型并从DB中检索它们

    Toucan,寓意多彩的蕉鹃,是一款专为Clojure语言设计的优雅且功能强大的库,旨在简化应用程序模型的定义以及从数据库中获取数据的工作流程。这款库以其高效的抽象和易用性在Clojure社区中获得了高度评价。Toucan的...

    clojure1.4包

    2. **强类型系统**:尽管 Clojure 不强制显式声明变量类型,但它具备静态类型的特性,通过类型推断保证了程序的稳定性和性能。 3. **内存安全的并发模型**:Clojure 使用软件事务内存(Software Transactional ...

    Clojure Handbook(2012.11.1)

    这些数据结构都设计为不可变的,保证了程序的线程安全。 函数是Clojure中的基本构造单位。Handbook强调了函数在编程中的重要性,并讨论了函数的定义、柯里化、递归等概念。Clojure的函数可以作为一等公民,即函数...

    the joy of clojure.pdf

    1. **简洁性与清晰度**:Clojure设计之初就追求代码的简洁和清晰。通过最小化语法糖来减少冗余,并利用Lisp的强大表达能力,使得程序易于理解和维护。 2. **可组合性**:Clojure中的代码被视为数据结构,可以被轻松...

    Living clojure pdf

    通过本书,读者不仅可以了解到Clojure的基本语法和概念,还可以学习到如何利用Clojure构建高性能、可扩展的应用程序。此外,本书还涵盖了Clojure的高级特性,如元编程和并发编程,对于想要深入掌握Clojure的开发者来...

Global site tag (gtag.js) - Google Analytics