common lisp 应用领域、入门前应具备哪些方面的知识?

2024-12-03 18:15:49
推荐回答(3个)
回答1:

一楼二楼,已经说的差不多啦,我来补充一下,人工智能这方面的:
(1)lisp确实强大到让其他语言的程序员嫉妒但又不承认的程度
(2)lisp有好多方言,初学用Common Lisp,再深一点可以考虑SBCL,至于AutoLisp只是针对于CAD作图方面的
(3)为什么国内人很少用CommonLisp ,在百度上一搜lisp出来的全是AutoLisp呢?原因很简单,中国程序员一般从事很低级的编程工作(有的人以自己在华为工作而自豪,但就算是华为,做的也都是很垃圾很低级的工作),所以一般用不到lisp。
(4)现在人工智能普遍用两种语言:
a.----Lisp
b.----prolog
前者是美国人工智能程序员惯用的语言,后者是欧洲,和日本人工智能程序员惯用的语言,但现在的趋势是,人工智能程序员,同时掌握这两种语言
(5)有很多人认为C,Cpp,......这种语言为通用语言,而像是lisp prolog这种语言为专属某个领域而用的,但他们都是小鸟,事实是这样的,C,Cpp ....这才是专用语言,当初设计的时候就是这么定位的
(6)Common Lisp值得一学,但中文资料确实少,我这有三本书pdf的,英文的,你如果想要,可以说一声,我发给你
(7)搞lisp就别用百度啦,基本没人能回答你提的关于lisp的问题,用 “ Stack Overflow ”吧,它绝对能满足你....................
------------------------------------------------------------------------------------------------
还有“practice common lisp”,个人人为不太适合入门,原文的语言太晦涩,中文翻译的更烂
推荐“Paradigms of artificial intelligence programming”case studies in common lisp, 这本书前半程讲的都是common lisp 很细,而且作者的语言很流畅不晦涩,解释的很细致..........

回答2:

本人也是有C/C++的基础之后才学了LISP,跟你可能差不多吧。
LISP不光功能强大,而且非常灵活,真正算是自顶向下和自底向上编程都可以。在C/C++中,你不得不先声明函数A然后才能将函数A写在函数B的定义中,LISP不必这么麻烦,A和B谁先定义都成。LISP宏真正是强大得不可思议,让鄙人佩服得五体投地,C/C++的宏就是蝼蚁一般。LISP规则最少,就好象围棋,虽然只有最简单的黑白棋子和棋盘以及一点点规则,却蕴涵最复杂的变化,用了你就知道原来在C/C++中这也不许那也不行。
就算你不用LISP在实际工作中编程,从她学到的编程思想也可以指导你更好地用别的语言。
最好是用LISP加上API来编程,那样将无所不能,不过那得花钱了。
国内common LISP还只是小众在使用,关键问题是学校没有大力推广,老是在用C/C++误人子弟。
总之学了不会后悔

回答3:

MIT CS的入门课程6.001可是用lisp来讲编程方式的,某种意义上意味着计算机基础什么的,在lisp学习中并非是必须的。当然我这么类比也许不恰当,因为这门课使用的lisp是非常精简的,重点也不在lisp语言上,同时你还需要有MIT学生的实力。如我这样在编程三四年的情况下,看这么课程,依然觉得很费力。

autolisp应该算lisp的方言吧,虽然我不搞cad,但是看上去这并不是人工智能的应用。同样的还有elisp(emacs的lisp语言,同样是lisp的应用之一,但是和人工智能的关系不大)。lisp是很强大的语言,它虽然在人工智能应用广泛,但并不表示它不能应用在其它领域。我本人也是最近才接触人工智能,就我所知,一些推理引擎是用lisp实现的。

学过c/c++当然会有好处,如果你对编程一无所知,直接去碰lisp,肯定是困难的。如果你对编程的思想有了基本的了解,自然会轻松一点。但是也不要指望能帮助太多,因为很多思想是不一样的,写法也会不一样。比如lisp不需要你指定类型,于是很多类型错误在运行时才能发生,这些都需要在实践中克服。

至于业界的发展,求工作过的人来回答....