





作者:[美] Jeremy Anderson , Michael Gaare, Justin Holguín , Nick Bailey , Timothy Pratley 著 蒋楠 译
定价:49.8元
印次:1-1
ISBN:9787302471110
出版日期:2017.06.01
印刷日期:2017.06.21
图书责编:王军
图书分类:零售
作为一门现代Lisp方言,Clojure专为支持并发和Java兼容 性而设计,能提供众多开发人员孜孜以求的解决方案。凭借 通用性和诸多功能,Clojure日益受到企业级应用开发人员(尤 其是那些希望远离命令式编程加速工作流程的开发人员)的青 睐。本书条理清晰,紧贴实际介绍Clojure的用法,为职业程 序员提供完备参考。本书首先介绍函数式编程基础知识,此 后重点讲解与Clojure相关的特定主题,并从专业Clojure贡献 者的角度提出诸多见解。资深Clojure人才日益紧俏,这本精 品指南将助你迅速蜕变为Clojure专业开发人士。 主要内容 ◆ 探讨函数式编程与面向对象编程之间的差异,分析 Clojure如何消除这种差异 ◆ 讨论快速反馈循环中声明式编程所用的REPL流程 ◆ 演示如何使用ClojureScript来设计和开发反应式网页 ◆ 介绍Clojure的特性、性能与功能,并讨论使其成为一门 重要语言的通用兼容性 ◆ 涵盖Web服务、测试和Datomic数据库等主题,是完备的 专业指南和教程 ◆ 从专家程序员和Clojure贡献者的角度,提出应用开发的 实用见解
Jeremy Anderson就职于美国密歇根州的Code Adept,这是一家提供高品质软件交付的咨询公司,业务涵盖软件开发、敏捷教导与培训服务。Jeremy是一名Clojure爱好者,对多种Clojure库的开发都有贡献。Jeremy对向用户提供编程培训极为热心,并作为志愿者在当地中学协助讲授计算机课程。Michael Gaare就职于美国一家提供金融技术服务的初创公司NextAngles,担任平台技术负责人。从2012年起,Michael就采用Clojure开发专业的Web服务、数据处理系统与各种库(而非框架)。Michael爱好参加歌剧演出,大部分闲暇时间都与妻子和两个女儿度过。Justin Holguín在美国波特兰的Puppet Labs担任软件工程师,负责Clojure后端服务的开发。Justin热爱函数式编程,对高级类型系统、基于属性的测试等能够提高软件稳定性的技术情有独钟。Nick Bailey是一名Clojure爱好者,也负责Clojure java.jmx库的维护。Nick在总部位于美国加州的DataStax担任软件架构师,使用Clojure开发用于管理分布式数据库的企业级软件。Nick从2010年起开始接触Clojure,并由此成为这门语言的拥护者。Timothy Pratley从2008年起开始使用Clojure,是这门语言的贡献者和倡导者。Timothy目前就职于美国旧金山的Outpace Systems,负责开发基于Clojure、ClojureScript和Clojure Android的解决方案。Timothy已有15年的专业软件开发经验,接触过许多编程语言、框架和数据库,热爱Clojure、Datomic数据库、结对编程(pair programming) ,喜欢思考。
Clojure一瞥 Clojure是一种动态、通用的程序设计语言,既有脚本语言易于学习和交互开发的特点,又具备适合多线程编程的高效和强健的基础架构。虽然Clojure属于编译语言,却是完全动态的,所有特性都能在运行时得到支持。借助可选的类型提示和类型接口,Clojure可以方便地访问Java框架,确保在调用时不会出现Java反射。 Clojure是一种Lisp方言,继承了Lisp“代码即数据”的设计理念以及功能强大的宏系统。总体而言,Clojure属于函数式编程语言,包括丰富的不可变和可持久化数据结构。当需要处理可变状态时,Clojure通过软件事务内存与响应式Agent系统,确保实现清晰、正确、多线程的设计。 ——Rich Hickey,Clojure作者 上述介绍来自Clojure的作者Rich Hickey,点出了这门语言的本质。许多人将Clojure等同于函数式编程,不过与其前身Lisp类似,Clojure实际是一门通用语言,能支持任何编程范式。 然而,Clojure的确具有浓郁的函数式特点。它侧重于不可变值和可持久化数据结构,为函数式编程提供有力支持。读者或许对Clojure也能用于面向对象编程表示惊讶,本书将对此进行讨论。 目标读者 本书是为有经验的程序员准备的。读者应掌握至少一门编程语言,并了解Clojure的基本语法和概念,做好在更高层次上运用Clojure的准备。本书旨在实现读者从Clojure初学者向Clojure开发者的蜕变。学习Clojure不仅涉及全新的语法,所用的工具和构造可能与读者之前的体验大相径庭。 程序源代码 读者可以从Wil...
1.1 函数式思维 2
1.1.1 以值为导向 2
1.1.2 从递归的角度考虑问题 4
1.1.3 高阶函数 7
1.1.4 拥抱惰性 11
1.1.5 当变动成为必需时 12
1.1.6 Nil双关 15
1.1.7 函数式Web 16
1.2 改进面向对象编程 17
1.2.1 利用defmulti实现
多态调度 18
1.2.2 使用deftype和defrecord
定义类型 20
1.2.3 协议 21
1.2.4 reify 22
1.3 可持久化数据结构 23
1.4 塑造语言 27
1.5 小结 29
第2章 Clojure的快速反馈循环 31
2.1 REPL驱动开发 31
2.1.1 REPL在Leiningen中的
基本操作 32
2.1.2 通过nREPL实现
远程REPL 34
2.1.3 REPL在实际程序中的
应用 36
2.1.4 REPL与编辑器的连接 40
2.2 代码重载 41
2.2.1 从REPL重载代码 41
2.2.2 自动重载代码 45
2.2.3 编写可重载的代码 52
2.3 小结 54
第3章 Web服务 55
3.1 项目总览 55
3.2 构成Web服务的元素 57
3.2.1 库,而非框架 57
3.2.2 HTTP 57
3.2.3 路由 66
3.2.4 JSON端点 73
3.3 示例服务 78
3.3.1 创建项目 78
3... 查看详情
的语言和丰富的示例阐述Clojure 的独到之处,并培养读者从函数式编程的角度思考问题。
不过,本书的目标群体是具有一定经验的开发人员,缺少相关背景的读者可先参阅其他资
料,以夯实基础。无论官方文档、论坛博客、主题演讲还是GitHub,都是很好的学习资源。
“一万小时定律”或许并非放之四海而皆准,但唯有不断实践,才能真正掌握一门语言。
查看详情
同系列产品
查看详情-
Rust全栈开发
[美] 帕布·埃什瓦拉(Prabhu Eshwarla)著 王志强 刘畅 译
ISBN:9787302681717
定 价:98元
-
CSS创意项目实践
[美] 玛蒂娜·道登(Martine Dowden) [英]迈克尔·基隆(Michael Gearon)著 殷海英 译
ISBN:9787302659808
定 价:98元
-
图解PHP & MySQL 服务器端Web开发
[美]乔恩·达克特(Jon Duckett) 著 卢志超 译
ISBN:9787302656166
定 价:256元
-
Rust Web开发
[德] 巴斯蒂安·格鲁伯(Bastian Gruber)著 赵永、邹松廷、卢贤泼 译
ISBN:9787302658238
定 价:98元