我应该学习Lisp的哪种方言?
我知道Lisp有几种不同的方言。既然已经决定学习Lisp将是一种新的智力体验,我想知道学习哪种Lisp方言,以及为什么我应该学习Lisp的哪种方言?,lisp,dialect,Lisp,Dialect,我知道Lisp有几种不同的方言。既然已经决定学习Lisp将是一种新的智力体验,我想知道学习哪种Lisp方言,以及为什么 有一种比其他的更受欢迎吗?其中是否有一个更“完整”,如中所述,有更好的文档记录和支持?这种方言的优缺点是什么?我之所以说Scheme,完全是因为Scheme,这是我读过的最有趣但又非常难的书之一。我更喜欢CL,因为我喜欢面向对象编程,CLOS是最好的对象系统。我在学校学的。这是一次很棒的学习经历,我永远不会忘记函数式编程的基础知识。选择哪个版本的LISP可能无关紧要,只要您了解
有一种比其他的更受欢迎吗?其中是否有一个更“完整”,如中所述,有更好的文档记录和支持?这种方言的优缺点是什么?我之所以说Scheme,完全是因为Scheme,这是我读过的最有趣但又非常难的书之一。我更喜欢CL,因为我喜欢面向对象编程,CLOS是最好的对象系统。我在学校学的。这是一次很棒的学习经历,我永远不会忘记函数式编程的基础知识。选择哪个版本的LISP可能无关紧要,只要您了解其实用性的核心——无状态lambda演算
这里有一篇有趣的文章介绍了它的编程入门课程。而且Clojure最近也赢得了很多关注,这是有道理的。伟大的数据结构,非常好的并发支持(这让Scheme和CL相形见绌),以及一个伟大的社区。它也比较简单,CL至少和C++一样复杂。
这并不是说我不喜欢CL或Scheme。我和SICP一起学习了这个计划。CL带我去了Clojure。我想这完全取决于你的目标。如果你想学习非常实用的Lisp语言,可以选择Clojure。否则CL或Scheme都很棒。我可以推荐使用Common Lisp。这种组合是快速、强大、成熟和有良好记录的。至少在一开始,我会说它们都是。最终,您可能会对Scheme或CommonLisp产生偏好,但它们都有足够的差异,因此最好处理所有存在的问题 例如,Scheme有continuations,了解Scheme中的continuations是件好事,即使它们可以在CommonLisp中实现
了解词法范围和动态范围之间的差异很重要,如果您同时学习Common Lisp和elisp,您将发现两者的含义。您希望在简单性和简洁性、吸引人的功能以及允许您(为自己)编写有趣和有用软件的平台之间找到平衡作为学习工具。(这最后一步将让你持续学习更长时间。)以下是一些可能性: