和许多其他对学习 Lisp 感兴趣的人一样,我觉得可用的资源对初学者来说并不是最好的,并最终阻止了许多新人学习它。你觉得它可以创建某种社区,有网站、论坛或其他东西,为 Lisp 用户提供良好(如质量)的资源/教程,可能翻译成几个成语?这样,不具备编写教程所需技能的初学者可以帮助翻译它们。这是一个坏主意还是可以完成的事情?给我一些反馈或火焰我:D
7 回答
Lisp 有两种流行的方言——Common Lisp 和 Scheme。两者都有优秀的书籍/教程和免费在线提供的实现。初学者可以从更简单的 Scheme 开始。学习计划的一些资源:
免费书籍:
- 在 Fixnum 天内自学计划。(pdf)
- 方案编程语言。
- 计算机程序的结构和解释。
- 如何设计程序
在线社区/资源:
- 最新的Scheme标准。
- 计划食谱。
- 计划实施要求
- 方案相关研究
- http://www.schemers.org/
- http://groups.csail.mit.edu/mac/projects/scheme/
适合初学者的 Scheme 实现是PLT Scheme。
学习 Common Lisp 的免费书籍:
Common Lisp 的在线社区/资源:
流行的 Common Lisp 实现:SBCL、CLISP、Clozure CL、Allegro CL
Lisp 已经存在了很长时间,有很多(碎片化的)社区。真的没有办法“创建”一个共同的社区,尤其是从外部。
鉴于 Paul Graham 在年轻程序员中的受欢迎程度,以及他在 lisp 方面的背景(在 Lisp 上写作),Paul Graham 可能是一个有可能联合一个大型 lisp 社区的人(IMNO,N=naive )。但是,他选择创建另一种 lisp 方言Arc。
许多人写过关于 Lisp 社区的碎片化,或者 Lisp 无法“赶上”的文章。一些例子:这里、这里、这里和这里。所以,虽然你的想法很好,但它可能是徒劳的。
话虽如此,不要让我阻止你在 Lisp 社区中崛起并成为如此团结的人物。
就现有教程而言,Emacs Wiki 是学习Emacs Lisp的良好起点。对于 Scheme 的介绍 - 以及对一般编程的良好介绍,有经典的Structure and Interpretation of Computer Programs。
我发现这两个资源是学习 Emacs Lisp 和 Scheme 的良好起点。我没有玩过 Arc,但大概会有一些关于学习 Arc 的好教程——因为它的设计部分是为了成为创建基本 Web 应用程序的好语言。
这是一个论坛:Lisp 论坛,这是一个社区:Planet Lisp
这是一篇相当不错的帖子,您可能会觉得有帮助,如何学习 Lisp。
Lisp 的优势之一是,作为一种成熟的语言,有许多关于该主题的非常棒的书籍。
实际上,网上有不少免费的 CL 书籍:
“Common Lisp: A Gentle Introduction to Symbolic Computation”涵盖了基础知识,但可能过于温和,具体取决于您的水平。
“成功的 Lisp”非常全面,恕我直言,如果您已经用另一种语言编写了一些程序,那么它是学习 CL 的最佳在线资源。
“Practical Common Lisp”旨在接触有经验的程序员,并且肯定是目前最好的 Lisp 书籍之一 - 为数不多的明确尝试解释“现实世界用法”的书籍之一。
“On Lisp”对于高级 CL 程序员来说是一本有趣的读物,主要涵盖宏。
除此之外,还有不可或缺的Hyperspec,一个标准的 html 化版本,以及CLtL2,它是 ANSI 之前的事实上的标准(仍然很有价值,因为许多人发现它比 Hyperspec 更易于访问。至少它有时会显示一些东西从另一个角度)。
最后,还有Lisp 论坛和 clisp。尽管 cll 上有很多噪音,但您可以在那里获得非常有见地的答案并向大师学习。作为新手,应该尽量在cll上发一些深思熟虑的问题,脸皮厚一点。
下载、安装、运行http://download.plt-scheme.org/drscheme/。
阅读其“指南”。
My thoughts, as a newcommer to lisp, would be to recommend Clojure (I have over the past six months played with Scheme and Emacs Lisp). I have only been playing with Clojure over the past couple of days.
Running on the JVM, means that most people allready have most of the Clojure enviroment, they only need to .jar files and a plugin for their editor or IDE (Java ones anyway) of choice. So getting running is easier then Scheme or CL in terms of choice.
Most new programmers are at the very least familar with Java, which Clojure of course utilizes pretty well, meaning that while they are learning they can focus on lisp, and a bit less on libraries. There is a lot of concepts that they are much better off focusing on.
On the downside, Java does have a lot of stigma against it. But Clojure has a lot going for it, and I believe a good future ahead, and the Programming Clojure is imho, very accessible, and both Joy of Clojure and Clojure in Action are comming some time soon.
另一本学习方案及其编程风格的好书,更何况当你来自 OO 世界时,最好从头开始。