Clojure编程乐趣

Clojure编程乐趣

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。

作品简介

《Clojure编程乐趣》并非Clojure初学指南,也不是一本Clojure的编程操作手册,而是通过对Clojure详尽地探究,教授函数式的程序设计方式,帮助读者理解和体会Clojure编程的乐趣,进而开发出优美的软件。

全书分为5个部分共13章。第1部分是基础,包括第1章到第3章,从Clojure背后的思想开始,介绍了Clojure的基础知识,并带领读者初步尝试Clojure编程。第2部分包括第4章和第5章,介绍了Clojure的各种数据类型。第3部分是第6章和第7章,介绍了函数式编程的特性。第4部分包括第8章到第11章,分别介绍了宏、组合数据域代码、Clojure对Java的调用,以及并发编程等较为高级的话题。第5部分为第12章和第13章,探讨了Clojure的性能问题及其带给我们的思考。

《Clojure编程乐趣》适合有一定基础的Clojure程序员阅读,进而掌握函数编程的思考方法和程序设计方法,也可以作为读者学习函数式编程的参考资料。

Michael Fogus 是Clojure/core 成员,在分布式模拟、机器视觉 及专家系统方面拥有丰富的经验。 Chris Houser是Clojure 的关键贡献者,曾实现了几个重要的特性。

作品目录

  1. 内容提要
  2. 前言
  3. 致谢
  4. 关于本书
  5. 译者简介
  6. 第1部分 基础
  7. 第1章 Clojure 哲学
  8. 1.1 Clojure之道
  9. 1.2 为何(又一种)Lisp
  10. 1.3 函数式编程
  11. 1.4 Clojure为何不是面向对象的
  12. 1.5 小结
  13. 第2章 Clojure 疾风式教程
  14. 2.1 标量
  15. 2.2 组合起来:集合
  16. 2.3 付诸实现:函数
  17. 2.4 var
  18. 2.5 局部量、循环和block
  19. 2.6 防止发生:quote
  20. 2.7 与Java互操作
  21. 2.8 异常环境
  22. 2.9 命名空间
  23. 2.10 小结
  24. 第3章 小试牛刀
  25. 3.1 真值
  26. 3.2 小心翼翼nil双关
  27. 3.3 解构
  28. 3.4 用REPL做试验
  29. 3.5 小结
  30. 第2部分 数据类型
  31. 第4章 标量
  32. 4.1 理解精度
  33. 4.2 有理数
  34. 4.3 使用关键字的时机
  35. 4.4 符号解析
  36. 4.5 正则表达式——第二个问题
  37. 4.6 总结
  38. 第5章 组合数据类型
  39. 5.1 持久化、序列和复杂度
  40. 5.2 vector:创建和使用其各种变体
  41. 5.3 list:Clojure代码form的数据结构
  42. 5.4 如何使用持久化队列
  43. 5.5 持久化set
  44. 5.6 思考map
  45. 5.7 知识汇总:在序列里查找某项的位置
  46. 5.8 小结
  47. 第3部分 函数式编程
  48. 第6章 惰性与不变性
  49. 6.1 关于不变性
  50. 6.2 设计一个持久化玩具
  51. 6.3 惰性
  52. 6.4 小结
  53. 第7章 函数式编程
  54. 7.1 各种形式的函数
  55. 7.2 闭包
  56. 7.3 递归思考
  57. 7.4 知识汇总:A*寻路
  58. 7.5 小结
  59. 第4部分 大规模设计
  60. 第8章 宏
  61. 8.1 数据即代码即数据
  62. 8.2 定义控制结构
  63. 8.3 组合form的宏
  64. 8.4 使用宏改变form
  65. 8.5 使用宏控制符号解析
  66. 8.6 使用宏管理资源
  67. 8.7 知识汇总:返回函数的宏
  68. 8.8 小结
  69. 第9章 组合数据与代码
  70. 9.1 命名空间
  71. 9.2 以通用设计模式探索Clojure多重方法
  72. 9.3 类型、协议和记录
  73. 9.4 知识汇总:国际象棋移动的流畅构建器
  74. 9.5 小结
  75. 第10章 Java.next
  76. 10.1 使用proxy动态生成对象
  77. 10.2 Clojure gen-class和GUI程序设计
  78. 10.3 Clojure同Java数组的关系
  79. 10.4 所有Clojure函数都实现……
  80. 10.5 在Java API里使用Clojure数据结构
  81. 10.6 definterface
  82. 10.7 慎用异常
  83. 10.8 小结
  84. 第11章 变化
  85. 11.1 软件事务性内存,包括多版本并发控制和快照隔离
  86. 11.2 使用Ref的时机
  87. 11.3 使用Agent的时机
  88. 11.4 使用Atom的时机
  89. 11.5 使用lock的时机
  90. 11.6 使用future的时机
  91. 11.7 使用promise的时机
  92. 11.8 并行
  93. 11.9 var和动态绑定
  94. 11.10 小结
  95. 第5部分 杂项考量
  96. 第12章 性能
  97. 12.1 类型提示
  98. 12.2 暂态(transient)
  99. 12.3 分块序列
  100. 12.4 记忆
  101. 12.5 理解强制转型(coercion)
  102. 12.6 小结
  103. 第13章 Clojure改变我们的思考方式
  104. 13.1 DSL
  105. 13.2 测试
  106. 13.3 缺乏设计模式
  107. 13.4 错误处理和调试
  108. 13.5 珍重
  109. 附录 资源
  110. 杂项资源
  111. 在线资源