11

而不是传统的教程和书籍大多解释语法、数据结构、函数、高阶函数、宏等,而不是像练习这样的传统项目欧拉,有什么好的综合资源来学习如何设计大型应用程序Lisp 语言,涵盖客户端以及服务器端的设计和实现?

是否有任何指南,从第 1 步到第 42 步解释如何逐步实现一个有趣的应用程序?

4

5 回答 5

7

您可能会喜欢Clojure in Action一书。它首先介绍了 Clojure,然后讨论了 Clojure 在“现实世界”软件(例如状态管理、并发性、代码生成和 Java 互操作)中大放异彩的用例,然后本书将引导您完成一个非使用单元测试、自定义 DSL、Hadoop、HBase 和 RabbitMQ 的简单、可扩展的 Web 应用程序。

于 2012-04-17T23:06:00.470 回答
6

恕我直言,真正获得方案的最佳书籍是计算机程序的结构和解释(SICP)。

通过这些章节,您将逐步实现更复杂的系统——数字塔、图片处理语言、流处理器、并发编程……直到最后,在最后两章中,您最终为不同的语言(Scheme 本身,一种逻辑语言,...),以及用于 Scheme 的虚拟机和编译器。

这些示例开始缓慢而简单,并建立在困难之上,直到您达到相当大、复杂和独立的系统。这是真正了解编程语言如何工作以及如何管理代码中的复杂性和抽象性的终极体验。读完这本书,你会成为一个更好的程序员,我可以向你保证。

抱歉,本书中没有客户端-服务器应用程序,但是开发的系统会让你准备好在 Scheme 中处理相当复杂的编程任务。

于 2012-04-17T22:45:43.077 回答
5

请参阅实用的通用 Lisp。另外,我认为 Racket 的一些教程非常好:例如,构建一个 web 应用程序。也就是说,没有教程或书籍会涵盖一个可以部署的全功能应用程序的示例。

于 2012-04-17T22:59:01.680 回答
2

实际上,Practical Common Lisp描述了很多有用的模式和方法。还可以看看Lisp Land of LispLisp Outside the Box,这还没有完成,唉。

于 2012-04-18T07:04:26.460 回答
1

就个人而言,我发现这本书非常有用。它经常采用以 AI 为中心的方法(正如人们所期望的那样,鉴于标题),但它也涵盖了更广泛的主题(尤其是 PL 的东西 [特别是编译器和解释器]),并且它提供了对常见 lisp 的深入理解。作为替代方案,我也喜欢 Graham 的On Lisp的“深奥”的 lispiness(高级宏,对 PL 实现的一些进一步探索)。是的,SICP 不会出错。狩猎愉快。

于 2012-04-18T06:20:41.643 回答