我已经用Python,PHP,Java和C编程了几年或几年,我刚读完黑客和画家,所以我很乐意尝试一下LISP!
我理解它与我所知道的完全不同,并且这并不容易.我想(如果我错了,请纠正我)LISP的社区和发展方式会减少.所以我的问题是:学习LISP的最佳方法是什么?
我不介意买书或投入一些时间.我只是不想浪费它.
"最终"的想法是使用LISP进行网页开发,我知道这不是那么常见所以......我知道在选择第一本书或教程之前计划我的学习是很好的,并花费大量时间在可能没有的东西上是最好的方式!
谢谢大家的答案!
编辑:我阅读Practical Common Lisp并且:...长,有点,有趣并且肯定让我在Lisp中滚动,之后我读了这个小阴谋家,这对我的整体编程很简单,有趣且非常好.因此,我的建议是首先阅读小阴谋,然后(它需要几个小时而且值得)如果你决定使用lisp(或方案或任何方言)不是你想要的东西,你仍然会非常有趣关于递归的新思路!
尝试阅读Peter Seibel的Practical Common Lisp.
我个人最喜欢的是Abelson&Sussman Structure and Interpretation of Computer Programs.它使用Scheme,这是一个很好的,干净的Lisp方言.
如果你喜欢更实用的方法,也许你应该选择一些用于网页设计的Lisp框架(我不知道这样的野兽是否存在)并直接进入.
你可能想从The Little Schemer开始作为热身.这不是一本关于编写生产Lisp程序的实用书,但它是一本学习如何用Lisp 思考的好书.
麻省理工学院以DIVX和MPEG格式提供了完整的LISP课程.我强烈推荐它.
http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/
现在有一本名为"Land of LISP"的书,通过编写80年代风格的文本游戏来教授LISP编程.我现在正在阅读它,而且写得非常好,不会太认真,我喜欢.
这里有几种选择.首先,Scheme和Common Lisp在相当深的方式(如范围界定)方面有很大不同; 你应该选择一个开始并坚持一段时间.我是Common Lisp的粉丝,但这可能是那些vi-vs-EMACS宗教问题之一.
对于Scheme,请使用Kent Dybvig的Scheme Programming Language,然后是SICP.
对于Common Lisp,以及Practical Common Lisp,我推荐David Lamkins的成功Lisp. 成功的Lisp 也可以在线免费获得.
之后,看看Queinnec的小片中的Lisp和AI书中的 Norvig的Lisp.
Marty Hall 在约翰霍普金斯大学有很好的名单.
更新:我并不是说永远坚持下去,只是试图同时学习两者会让人感到困惑.
拿起康拉德巴斯基的Lisp之地.这是一个有趣的使用漫画和游戏的Lisp编程介绍.
我推荐Project Euler作为一小部分问题的优秀来源,你可以用它来教你自己任何新的编程语言.
Paul Graham的Ansi Common Lisp是一本好书.
我认为它可能已绝版,所以你最好通过亚马逊获得它.我得到了一本关于"自然语言处理"课程的书,我上大学二年级.我们不得不在LISP中编写编程项目,所以我需要快速学习Lisp.
这本书给了我很多帮助.
一旦我遇到问题.我不知道口齿不清.所以我决定在一个盒子里下载LISP.
然后我发现自己没有任何帮助或文档的Emacs安装.
然后我有两个问题.
对于认真的学习者,我建议来自Norvig的PAIP.学习Lisp和AI是一个很好的资源.
Berkeley 以播客形式提供CS61a.这是基于SICP的CS类介绍.这是一个比麻省理工学院提供的1982年视频更现代的版本.
我现在正在通过Lisp工作,并且遇到了"书"来学习Lisp.Rainer Joswig建议
这本书名为Common Lisp:一个温和的符号计算简介,可以下载为PDF格式.作者在第一章中以类似UML的方式开始使用Lisp,并逐渐引入越来越多的Lisp语法.
我也看过实用的lisp,我认为作者对许多必需的信息都有所掩盖,即使对于经验丰富的程序员也是如此.这本书似乎没有这样做(我没有完全完成,但已经发现它足够有用的建议).
还有一件事,你需要一个可以工作的环境.我发现Lisp在一个盒子里工作得很好.它在Windows和Linux上运行并使用eMac.
LISP的JVM方言-Clojure吸引了我。Clojure是一种很棒的LISP,因为
它具有“简化的语法”,即不需要parathensis,也有巧妙的集合设计集
它基于JVM,因此在其下具有稳定,高性能的运行时,此外,整个Java生态系统(库,例如数据库驱动程序,构建工具,IDE)也在我们的范围之内
Noir是一个很好的Web框架,可以将应用程序部署在Java Web和应用程序服务器上
换句话说,Clojure可以立即在这里用于生产。
在资源方面,至少有4本书和丰富的在线资源:
书籍:“ Clojure的喜悦”-非常有见地,但可能很困难,因此最好与“ Programming Clojure”一起阅读。
在线教程:Mark Volkmann教程很棒
另请参阅/sf/ask/17360801/
4Clojure网站包含许多简单的编程任务,因此您可以使用Clojure并查看其他人的解决方案