学习LISP的最佳方法是什么? [关闭]

问题描述 投票:161回答:23

我已经用Python,PHP,Java和C编程了几年或几年,我刚读完黑客和画家,所以我很乐意尝试一下LISP!

我理解它与我所知道的完全不同,并且这并不容易。我想(如果我错了,请纠正我)LISP的社区和发展方式会减少。所以我的问题是:学习LISP的最佳方法是什么?

我不介意买书或投入一些时间。我只是不想浪费它。

“最终”的想法是使用LISP进行网页开发,我知道这不是那么常见所以......我知道在选择第一本书或教程之前计划我的学习是很好的,并花费大量时间在可能没有的东西上是最好的方式!

谢谢大家的答案!

编辑:我阅读Practical Common Lisp并且:...长,有点,有趣并且肯定让我在Lisp中滚动,之后我读了这个小阴谋家,这对我的整体编程很简单,有趣且非常好。所以我的建议是首先阅读小阴谋,然后(它需要几个小时而且值得)如果你决定使用lisp(或方案或任何方言)不是你想要的东西,你仍然会非常有趣关于递归的新思路!

lisp scheme common-lisp
23个回答
111
投票

试着阅读Peter Seibel的Practical Common Lisp


8
投票

一旦我遇到问题。我不知道口齿不清。所以我决定在一个盒子里下载LISP。

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

然后我有两个问题。


7
投票

对于认真的学习者,我建议来自Norvig的PAIP。学习Lisp和AI是一个很好的资源。


6
投票

伯克利以播客形式提供CS61a。这是基于SICP的CS类介绍。这是一个比麻省理工学院提供的1982年视频更现代的版本。


6
投票

我现在正在通过Lisp工作,并且遇到了“书”来学习Lisp。这是由Rainer Joswig建议的

这本书叫做Common Lisp: A Gentle Introduction to Symbolic Computation,可以PDF格式下载。作者在第一章中以类似于UML的方式开始使用Lisp,并逐渐引入越来越多的Lisp语法。

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

还有一件事,你需要一个可以工作的环境。我发现Lisp in a Box运作良好。它在Windows和Linux上运行并使用eMac。


5
投票

我被JVM方言--Clojure吸引到了LISP。 Clojure是一种很棒的LISP,因为

  • 它具有“简化语法”,需要较少的parathensis,有巧妙设计的集合可用
  • 它是基于JVM的,因此下面有稳定的高性能运行时,此外,整个Java生态系统(库,例如数据库驱动程序,构建工具,IDE)都在我们的掌控之中
  • Noir是一个很好的Web框架,可以在Java Web和应用程序服务器上部署应用程序

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

在资源方面,至少有4本书和植物在线资源:


4
投票

我喜欢阅读Practical Common LISPANSI Common LISP

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


4
投票

对于Web开发,您可能需要查看hunchentoot,这是一个用通用lisp编写的Web服务器。


4
投票

我发现在“The Little Schemer”中练习练习真的有助于磨练我的思维的递归,模式匹配方面,并使在XSLT中的工作变得相当容易。


2
投票

根据您的编程经验,我首先推荐Gentle Introduction to Symbolic Computation或Practical Common Lisp。练习时,我在Windows中使用Allegro CL 8.2 Free Express Edition。它将练习变成了很多乐趣。


1
投票

一个难以回答的问题...我认为这一切都取决于你的学习风格。

我在A.I.学习了LISP。和大学里的专家系统课程,但这就是我的学习方式......我不是一个优秀的书本学习者,我更愿意让某人在课堂上向我解释。

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

祝你好运!


75
投票

我个人最喜欢的是Abelson&Sussman Structure and Interpretation of Computer Programs。它使用Scheme,这是一个很好的,干净的Lisp方言。

如果你喜欢更实用的方法,也许你应该选择一些用于网页设计的Lisp框架(我不知道这样的野兽是否存在)并直接进入。


1
投票

我发现读书SICP真的帮助我学习。我使用了Steel Bank Common Lisp(SBCL)并取得了很好的成功。

祝好运


1
投票

抓住一桶(和's)然后去城里..


0
投票

我不知道Lisp有什么特别的东西让它与学习任何其他语言不同。您只需要开始使用它并尝试其功能。

一种选择可能是尝试一个简单的project

另一个特别针对Lisp的选项是编写一个Emacs扩展,帮助您进行常规工作。


0
投票

按顺序阅读这些书:Gentle介绍符号计算,ANSI Common Lisp由Paul Graham编写,然后转到Practical Common Lisp。或者跳过ACL并在通过PCL工作时将其用作参考。


54
投票

你可能想从The Little Schemer开始作为热身。这不是一本关于编写生产Lisp程序的实用书,但它是一本学习如何用Lisp思考的好书。


42
投票

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

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


32
投票

现在有一本名为'Land of LISP'的书,通过编写80年代风格的文本游戏来教授LISP编程。我现在正在阅读它,而且写得非常好,不会太认真,我喜欢。


22
投票

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

对于Scheme,请选择Kent Dybvig的Scheme Programming Language,然后是SICP。

对于Common Lisp,以及Practical Common Lisp,我推荐David Lamkins的Successful Lisp.成功的Lisp是also available online for free

之后,看看Queinnec的Lisp in Small Pieces和Norvig的Lisp in AI book

马蒂霍尔在约翰霍普金斯大学有a nice list

更新:我并不是说永远坚持下去,只是试图同时学习两者会让人感到困惑。


19
投票

拿起康拉德巴斯基的Land of Lisp。这是一个有趣的使用漫画和游戏的Lisp编程介绍。


17
投票

我建议Project Euler作为一小部分问题的优秀来源,你可以用它来教你自己任何新的编程语言。


9
投票

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

我认为它可能已绝版,所以你最好通过亚马逊获得它。我得到了一本关于“自然语言处理”课程的书,我上大学二年级。我们不得不在LISP中编写编程项目,所以我需要快速学习Lisp。

这本书给了我很多帮助。

© www.soinside.com 2019 - 2024. All rights reserved.