学习LISP的最好方法是什么?

我已经使用Python,PHP,Java和C进行了几年或几年的编程,刚刚读完黑客和画家,所以我很想给LISP一个尝试!

我明白它与我所知道的完全不同,并不容易。 另外我想(如果我错了,请纠正我)LISP周围的社区和开发方式less得可怜。 所以我的问题是:学习LISP的最好方法是什么?

我不介意买书或投资一些时间。 我只是不希望它被浪费。

“最终”的想法是使用LISP进行Web开发,而且我知道这并不常见,所以我知道在select第一本书或教程之前计划我的学习是很好的,并且花费大量的时间在一些不可能的事情上是最好的方法!

谢谢大家的答案!

编辑:我阅读Practical Common Lisp,是:…很长,很难,有趣,肯定让我在Lisp中滚动,在那之后,我阅读了这个小小的策划者,而且对我的整体编程来说很短,很有趣,非常好。 所以我的build议是首先读小诡计,然后(它的几个小时,它的价值),如果你决定口齿不清(或计划或任何方言)是不是你在哪里寻找,你仍然会有一个非常有趣关于recursion的新思路!

尝试阅读由Peter Seibel 编写的Practical Common Lisp 。

我个人最喜欢的是Abelson&Sussman 计算机程序的结构和解释 。 它使用Scheme,这是Lisp的一个很好和干净的方言。

如果你喜欢更实用的方法,也许你应该select一些Lisp框架的网页devise(我不知道这样的野兽是否存在),并跳进去。

您可能想从小小的Schemer开始,作为一个热身。 这不是一本关于编写产品Lisp程序的实用书,但它是学习如何在Lisp中思考的好书。

麻省理工学院已经提供了DIVX和MPEG格式的整个LISP课程。 我强烈推荐它。

http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/

现在有一本名为“LISP之地”的书,通过编写80年代风格的文本游戏教LISP编程。 我现在正在阅读,而且写得很好,并不太重视,我喜欢。

这里有几个选项。 首先,Scheme和Common Lisp在相当深的方面是相当不同的(比如范围界定)。 你应该select一个开始并坚持一段时间 。 我是Common Lisp粉丝,但这可能是vi-vs-EMACS宗教问题之一。

对于计划,去肯特Dybvig的计划编程语言 ,其次是SICP。

对于Common Lisp以及Practical Common Lisp,我推荐David Lamkins的成功Lisp。 成功的Lisp 也可以在线免费获得 。

之后,请看Queinnec的“ Small Pieces”中的Lisp和AI书中的 Norvig的Lisp 。

马蒂·霍尔在约翰·霍普金斯大学有一个很好的名单 。

更新 :我并不是说要永远坚持下去,只是试图一次学习就会令人困惑。

拿起Conrad Barski 的Lisp之乡。 Lisp使用漫画和游戏进行编程是一个充满乐趣的介绍。

我推荐Project Euler作为你可以用来教你自己的任何新的编程语言的小小问题的一个很好的来源。

一旦我有一个问题。 我不知道lisp。 所以我决定下载LISP。

然后我发现自己没有任何帮助或文档的Emacs安装。

然后我有两个问题。

Paul Graham的Ansi Common Lisp是一本好书。

我认为它可能已经绝版了,所以你最好通过亚马逊来打赌。 我拿到了一本“自然语言处理”课,我在大学读了二年级。 我们必须在LISP中编写程序项目,所以我需要快速学习Lisp。

这本书帮了我不less。

对于认真的学习者,我会推荐从Norvig的PAIP 。 学习Lisp和AI是一个很好的资源。

伯克利提供播客格式的CS61a 。 这是基于SICP的CS类的介绍。 这是比麻省理工学院1982年的video更现代化的版本。

我现在正在通过Lisp工作,并且碰到了“书”来学习Lisp。 Rainer Joswig提出了这个build议

这本书被称为Common Lisp:符号计算的一个温柔的介绍 ,可以下载PDF格式。 作者在第一章中首先介绍了一种类似于Lisp的UML方法,并逐渐引入了越来越多的Lisp语法。

我也看了实际的lisp,我认为作者掩盖了很多所需的信息,即使是经验丰富的程序员也是如此。 这本书似乎没有这样做(我还没有完全完成,但已经发现它足够有用的build议)。

还有一件事,你需要一个工作环境。我发现Lisp在一个盒子里工作得很好。 它运行在Windows和Linux上,并使用eMacs。

我喜欢阅读Practical Common LISP和ANSI Common LISP 。

在LISP看起来很有趣,但190美元似乎有点贵一本书。

对于web开发,你可能想看看hunchentoot ,一个用普通的lisp编写的web服务器。

我用JVM的方言–Clojure吸引了LISP。 因为Clojure是很棒的LISP

  • 它有“简化的语法”,这是不需要parathensis,有聪明的devise集可用
  • 它是基于JVM的,所以在下面有稳定,高性能的运行时间,另外整个Java生态系统(库,例如数据库驱动程序,构build工具,IDE)在我们的范围内
  • Noir是一个很好的Web框架,可以在Java Web和应用程序服务器上部署应用程序

换句话说,Clojure现在可以在这里用于生产。

说到资源,至less有四本书和一些网上资源:

通过“The Little Schemer”中的练习,我发现通过练习确实帮助我磨练了思维的recursion,模式匹配方面,并使得在XSLT中工作变得相当容易。

sorting一个困难的问题来回答…我想这一切都取决于你的学习风格。

我在大学的AI和专家系统课程中学习了LISP,但是这就是我学习的方式……我不是一个好书的学习者,我更喜欢有人在课堂上向我解释。

LISP绝对是一种独特的语言,如果您习惯于传统的C,Java,PHP编程,则需要一个新的思路。

祝你好运!

我发现阅读这本书SICP真的帮助我学习。 我使用了Steel Bank Common Lisp(SBCL),并取得了不错的成绩。

祝你好运

抓起一桶(和)的,去镇上..

首先根据您的编程经验,推荐“符号计算简介”或“实用Common Lisp”。 为了练习,我在Windows中使用Allegro CL 8.2免费版。 它变成了很多乐趣练习。

我不知道Lisp有什么特别之处,使它与学习任何其他语言有所不同。 你只需要开始使用它并试用它的function。

一个select可能是尝试一个简单的项目 。

另一个选项,特别是Lisp,将会写出一个Emacs扩展,帮助你在日常工作中。

按顺序阅读这些书籍:“符号计算的温柔介绍”,Paul Graham的ANSI Common Lisp,然后转到Practical Common Lisp。 或者跳过ACL并在PCL中使用它作为参考。