zoukankan      html  css  js  c++  java
  • 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 48PLT 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

     

  • 相关阅读:
    《山里的日子(记录片)》观后感——回不去的农村
    Android事件分发传递
    《活着》观后感——时代
    Android6.0动态获取权限
    Androidannotations框架
    Android屏幕适配笔记
    Android 网络状态检测
    氢氘交换
    springboot datajpa 简明说明
    算法学习
  • 原文地址:https://www.cnblogs.com/youxin/p/2973090.html
Copyright © 2011-2022 走看看