作为一门语言,Clojure可以说是我们见过的几门语言中跟Java差别最大的。它对Lisp的传承、对不可变性的强调以及独特的编程方式,让它看起来变成了完全独立的语言。但它和JVM的紧密结合、与类型系统的一致性(即便它提供了序列等替代方案),还有探索式编程的能力,让它成为与Java互补性非常强的一门语言。
任何地方的协同都没有Clojure运行时对线程和并发底层特性的代理控制更清晰。这让程序员可以放手去关注多线程的设计和高层问题。这就跟Java的垃圾收集设施可以让你无需关心内存管理的细节一样。
本部分研究的不同语言间的差别展示了Java平台的进化能力,并且证明了它仍然是应用开发的理想目标。这也是对JVM灵活性和性能的证明。
在本书的最后一部分,我们会向你展示三门新语言为软件工程实践提供的新方式。下一章全部是关于测试驱动开发的内容——你在Java世界中很可能已经碰到过这一主题了。但Groovy、Scala和Clojure提供了全新的视角,有望巩固和加强你已经知道的那些东西。