Clojure编程乐趣([美]MichaelFogusChrisHouser[Fogusetc.)

书:pan.baidu.com/s/1CjUdgAAFLt0X-2T3vgiBxg?pwd=s6cf

  1. Clojure是一门观点鲜明的语言,它并不打算涵盖所有编程范式,也不准备提供清单列出每个重要特性。相反,它只提供以Clojure之道解决各种真实问题所需的特性。
  2. Clojure致力于帮我们解决各种复杂问题,而不引入偶然复杂性。
  3. Clojure通过支持“纯函数”去除了所有类定义、继承和类型声明等层次里的东西。所谓纯函数就是传入几个实参,然后只根据这些实参产生一个返回值。
  4. Clojure尽力让一切保持尽可能简单,无需为探索一个想法经历“编译—运行”的循环,无需类型声明,等等。
  5. Clojure极具表现力,可以在不牺牲可理解性的前提下,很好地完成一些极其复杂的任务。
  6. Clojure程序中定义的几乎所有一切都是可以重新定义的,即便程序尚在运行,包括函数、多重方法、类型、类型层次结构,甚至Java的方法实现。
  7. Clojure不做封装、编译成相同的字节码,能够直接访问Java的类和方法。Clojure字符串就是Java字符串;Clojure函数调用就是Java方法调用。
  8. 使用Java虚拟机(JVM)是一个务实的做法。JVM是一个惊人的务实平台,成熟、快速、部署广泛,支持各种硬件和操作系统,拥有数量众多的程序库以及支持工具。
  9. Clojure为代码的清晰做着努力,提供了一些工具规避几种不同的混乱。
  10. Clojure通过分离关注点让我们保持警醒,应对混乱的情况。一旦事物得到分离,思路就会清晰许多,只在必要时重新组合。
  11. Clojure在两个具体的方面提供了一致性:语法和数据结构。
  12. Clojure关注于函数式编程、不变性,注意区分状态、时间和标识。
  13. Clojure也有多态,它是通过多重方法和协议实现的,相比于许多语言中的多态,这两种机制都更开放,扩展性更好。
  14. Clojure可以创建一种特殊的层次结构,提供了一种子类型化的方式。
  15. Clojure通过其协议机制还提供了一种类似于Java接口的能力。
  16. 面向抽象的编程模型是构建大规模应用的关键。

这些原文段落或观点展示了Clojure语言的设计哲学、核心特性、优势以及其在编程实践中的应用。如需更多信息或深入理解,建议直接阅读《Clojure编程乐趣》原著。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注