标签
内容简介
《Clojure编程乐趣》是《The Joy of Clojure》的中文译本,由人民邮电出版社于2013年引进出版,郑晔翻译。它不是一本零基础入门读物,也不是罗列API的编程操作手册,而是沿着Clojure的语言哲学展开深入探究,引导读者理解函数式的程序设计方式,体会用Clojure写出优美软件的乐趣。全书分为5个部分共13章:第1部分(第1—3章)讲Clojure背后的设计思想与语言哲学,介绍基础语法与核心概念,并带领读者动手做小练习;第2部分(第4—5章)系统梳理Clojure的标量类型与集合等数据类型;第3部分(第6—7章)讲解函数式编程的特性,以及不可变性与惰性等要点;第4部分(第8—11章)进入宏、代码与数据组合、调用Java以及并发编程等进阶话题;第5部分(第12—13章)讨论性能问题与由此引发的思考。书中强调Clojure“代码即数据”“简单、专注、实用”的设计取向,也说明了它与JVM生态、Java互操作和并发模型的关系。适合已具备一定编程经验、想借Lisp方言真正理解函数式思维的读者。
编辑推荐
在Clojure的中文读物中,这本书的定位相当特别:它不讲“怎样快速跑起来”,而是讲“为什么这样设计”。作者Michael Fogus与Chris Houser都是Clojure社区的长期实践者,全书把语言哲学、数据类型、不可变性与惰性、宏、Java互操作、并发与性能串成一条完整的思考路径,读者读到的不是一堆用法,而是一套判断程序设计好坏的标准。郑晔的译文保持了技术表述的准确,术语处理也较为克制,读起来不别扭。值得一提的是,书中关于宏和代码即数据的章节,对习惯命令式与面向对象的读者冲击很大,常被读者视为“打开新世界的一章”。如果你已经能写简单Clojure代码,却总觉得写出来的东西像换了语法的Java,这本书正好能帮你转到函数式的思维轨道上。另外,该书后有扩充版的第2版,内容更全,但2013年版篇幅紧凑、主线清晰,作为第一遍通读依然十分合适。
适合谁读
适合
- 已掌握至少一门主流语言、想理解函数式编程本质的程序员
- 正在使用或准备使用Clojure、希望摆脱“换了语法的Java”写法的人
- 对Lisp方言、宏与代码即数据感兴趣的开发者
- 需要在JVM上进行并发编程、想了解不可变数据价值的中高级工程师
不适合
- 完全没有编程经验、需要从变量与循环学起的零基础读者
- 只想查API或临摹代码的速查型读者,本书不以操作为主线
- 急于在一周内上手做项目、不需要理解设计原理的人
阅读建议
- 建议先通读第1—3章建立语言哲学与基础,再按需深入后续章节,不必严格顺序推进。
- 读每一章都打开REPL跟着敲示例,宏与惰性等章节尤其需要动手验证才能体会。
- 若已有Java经验,可在读第10章时对照自己的旧代码,思考哪些地方能用不可变数据重构。
- 读完第1版后如觉不足,可再对照第2版补充面向数据编程与性能调优部分。
出版社简介
人民邮电出版社
中国 · 成立于 1953 年
人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。
目录
- 第1部分 基础
- 第1章 Clojure哲学
- 第2章 Clojure疾风式教程
- 第3章 小试牛刀
- 第2部分 数据类型
- 第4章 标量
- 第5章 集合
- 第3部分 函数式编程
- 第6章 函数式编程特性
- 第7章 不可变性与惰性
- 第4部分 进阶主题
- 第8章 宏
- 第9章 组合数据与代码
- 第10章 Clojure与Java互操作
- 第11章 并发编程
- 第5部分 性能与思考
- 第12章 性能
- 第13章 思考与结语
常见问题
这本书适合零基础学Clojure的人吗?
不太适合。作者明确表示本书既不是初学指南,也不是操作手册,建议先掌握基本语法和至少一门编程语言,再来读它理解函数式设计思想,收获会更大。
这本书和《Clojure编程》是同一本吗?
不是。本书是Michael Fogus与Chris Houser所著《The Joy of Clojure》的中文版;《Clojure编程》(Clojure Programming)由Chas Emerick等人所著、电子工业出版社出版,是另一本书,两者常被混淆。
第1版和第2版有什么区别?
2013年第1版为5部分13章、318页;2017年第2版扩充为6部分17章、442页,新增面向数据编程、性能与思考方式等内容,译者增加了艾广,ISBN为9787115443298。
需要什么前置知识?
最好熟悉一门主流语言(如Java、Python),并对JVM有基本了解。书中会涉及Java互操作与并发概念,完全不了解JVM的读者需要额外补课。
书里的代码现在还能运行吗?
书中示例基于较早期的Clojure版本,核心概念与大部分写法至今仍适用,但部分库与工具链已有变化,建议使用较新的Clojure环境,遇到报错时查阅官方文档对照调整。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。