免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4655 | 回复: 2
打印 上一主题 下一主题

Lisp FAQ 中文版 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-23 10:22 |只看该作者 |倒序浏览
Paul Graham的个人网站上汇集了很多关于Lisp的精彩内容,其中几篇很早前就已经被前辈们翻译成了中文,这些文章也曾为我指引了学习的方向。利用写日记的机会,希望能将这一部分英文资料慢慢整理出来。

原文地址:http://www.paulgraham.com/lispfaq1.html

何为Lisp?

Lisp是一类程序设计语言的名称,它由1950年末John McCarthy发明(更确切地说是发现)的一种语言演化而来。目前Lisp的两种主要方言分别是Common Lisp和Scheme。我们正在致力于一种新方言Arc的开发。

如何学习Lisp?

学习任何语言的方法都是使用它来编写程序。您有两种主要方言可选:Scheme和Common Lisp。尽管它们各有优点和缺点,但是倘若拿Lisp与其他编程语言之间的差距相比,它们之间的差别就微乎其微了。所以如果您想要开始学习Lisp,选择其中任何一种都可以。

这两种方言各自都有许多优秀的书籍和开源实现。所以任选一本书,一套实现,尝试开始编写程序吧。可以通过阅读现有代码来了解Lisp的编程风格。如果遇到困难,就在comp.lang.lisp上发问吧,那儿的人们总是很乐于解答新手的问题。

我应该学哪种,Common Lisp还是Scheme?有什么区别吗?

Common Lisp强大但是丑陋。Scheme紧凑清晰,但是标准只定义了语言的内部核心。如果需要开发实用程序,我估计会使用Common Lisp;如果我在课堂上教学,大概会选择Scheme(但会使用Common Lisp的宏)。

是否存在优秀的开源Lisp实现呢?

有很多这样的实现。我使用的Common Lisp实现是Clisp,不过据说CMUCL也相当不错。Scheme方面我用Scheme 48和PLT Scheme。

能否为想要学习Lisp的人推荐一本教材呢?

你或许会对这本感兴趣。

有没有好的在线教程?

从《Ansi Common Lisp》的第二章开始吧,这一章对Lisp程序设计进行了简要介绍。关于更详细的内容,请阅读Common Lisp参考手册。

如果Lisp真像传说得这么好,那没什么没有更多的人使用它呢?

问题的根源大概在于Lisp看起来很艰深,但是假如有一种具有丰富扩展库的方言出现,这个问题就能得到解决了。

我从何处可以获得《On Lisp》这本书?

感谢Chip Coldwell,你可以从此处在线获得一份Postscript文件。

这本书看似就要重印了,不过假如你决心要购买昂贵的第一版,可以从Amazon找到二手书。

是否存在第二版的《Ansi Common Lisp》?

某些数据库上是这么显示的,但实际上没有,至少目前没有。

是否有关于《Ansi Common Lisp》的习题解答?

很遗憾没有。我本该写一本,但是原本书甫才出版,我们就开始了Viaweb的开发,此后再也没能回过头来。

在哪里可以找到一份和Lisp相关的工作呢?

试试那些编写Lisp程序的公司吧,或者开创自己的事业。

我喜欢Lisp,但是我所在的公司却不允许使用。我该怎么办呢?

想办法让他们同意你使用Python。通常雇主不让你使用Lisp是因为(不论官方理由如何冠冕堂皇)Lisp代码让他们望而生畏。Python看起来平淡无奇,但是在语义上与Lisp有很多共同之处,并且越来越向Lisp靠拢。

甚至他们可能允许你使用Ruby,它和Lisp就更接近了。

你如何看待ML及其派生语言?

绝大多数我所熟识的黑客对ML类的语言都很失望。静态类型的编程语言更适合这种情况:如果已经预先构思好了程序,然后再将想法转变成代码。然而,写程序的过程不是这样的。

不具备链表和混合类型是极大的限制。而这些都是探索式编程(为了便捷,在早期将一切都表示为链表)所必需的,此外还意味着你没有真正的宏可用。

您是否知道有人在做AutoLisp的顾问工作?

我不清楚,不过可以问Google。

论坛徽章:
0
2 [报告]
发表于 2011-08-23 21:44 |只看该作者

论坛徽章:
0
3 [报告]
发表于 2012-02-10 10:27 |只看该作者
Scheme的R6RS也很“大”了,所以现在制定R7RS。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP