姓名:李嘉蔚 学号16020520034
【嵌牛导读】:大家都知道Mathematica吧?起码都知道Matlab吧。而我觉得前者更强大,是用C语言写的软件。而形成的Mathematica语言就像Lisp语言一样,适合人工智能使用。
【嵌牛鼻子】:一种强大的语言。用的人不多。据称比较反智。
【嵌牛提问】:Lisp是干啥的呢?值得学习吗?
【嵌牛正文】:
我对下棋的机器啥的已经习以为常了,况且我对下棋又只是了解,没研究过如何提升下棋水平。所以感觉机器会下棋也无所谓。不过我做数学,学科学可就多了,就在想机器做题的能力。首先我就百度到了一个大神软件:Mathematica.后来发现其实和Matlab一样,只是更强大了。他们的共同点就是用C语言写的软件,实现了符号运算。
这就是mathematica:
长度为1的代码片段
π
猜猜看?这就是π。它不是用浮点数表示的近似值,它就是π的精确值,因此涉及到π的复变函数和三角函数的运算可以得到精确的结果。
我手机上也有个手机版的Mathematica:


虽然手机版的有解题过程,不过还是可以看出它用的方法太复杂,比较机械地套用定理。不过不要过程只要结果的话还是很快的。手机版的这是云计算的功能。
于是我就又了解到有人说Mathematica很像Lisp语言。我就知道原来还有Lisp这一专门用于人工智能符号运算的语言。
那么来看看什么是Lisp吧:
在LISP语言中,数据和函数都是采用符号表达式定义的,这种符号表达式称为S一表达式,它是原予和表的总称。原子分为符号原予和数原子。符号原子是指有限个大写字母和数字组成的字符串,其中第一个符号必须是字母。原子NIL和T分别表示逻辑假(或空表)和逻辑真。数原子是指一串数字,通过符号表示其正负。
他有的特点:(1)函数性
用LISP语言编程只需要确定函数之间的调用,把函数执行的细节交给LISP系统来解决。因此,LISP语言是更加面向用户的语言。
(2)递归性
递归定义的方法使程序简明、优美,程序员应充分利用递归程序设计方法。
(3)数据与程序的一致性
一个函数被其他函数调用,就是调用了这个函数的返回值。在LISP中,函数与这个函数的返回值是一致的。这一特点使得LISP的编程就是定义一个宏函数,也使得LISP语言的扩充比较容易。可以根据应用领域的需要,使用LISP提供的基本函数扩充若干面向专门应用领域的宏函数。
(4)自动进行存储分配
程序员完全可以不考虑存储分配问题。程序中定义的函数、数据和表等都能在程序运行时,由LISP自动提供。对不再需要的数据,LISP自动释放其占用的存储区。
(5)语法简单
对变量和数据不需要事先定义和说明类型。LISP语言的基本语法就是函数定义和函数调用。因此,LISP语言的程序便于修改、调试和纠错,可以边实验边设计,通过不断修改和增加用户自定义函数来构成复杂的系统。
它的作用总结:
LISP语言不仅在专家系统和CAD领域有广泛的应用,在符号代数、定理证明、机器人规划等领域也有广泛的应用。
既然Lisp这么好,为何用的人好像很少?
影响LISP语言使用的主要原因有:一是LISP是非可视化语言;二是LISP在通用计算机上的运行效率较低;三是LISP的数值计算能力较差;四是人们对函数型语言的编程风格不习惯。传统的程序设计语言是适应冯·诺依曼型计算机系统结构而发展起来的,LISP在诺依曼型计算机上运行的效率要低一些。计算机系统结构的发展,使得函数型语言有着广阔的前途。为了适应当前微型机发展水平和程序员使用传统语言编程的习惯,LISP语言增加了许多非函数型的语言成分。
Lisp并不只是说代码上的抽象,相对于你学习java之后,再去看Lisp,就会颠覆你对原本程序世界的认知,有种重塑三观的感觉,哦,原来代码可以这么写。知道Lisp但并不会让你一下子就变成牛逼的人物,所以说有些基础还是需要打好的,思维方式虽然不一样,但是代码的本质并没有变。反正做东西大体上都一样,人们只是关心你做出来没有,而不会去在意你用什么做出来的。当然作为提高自身修养的一种语言,完全没必要说是为了生存而学习它。
国内之所以没有很多Lisp,很简单,高校教材教的是什么,看一下就知道了。
LISP 这一类语言迎合的是数学家的本性,而不是程序员的本性。
Lisp用的人少主要是因为现在的键盘上没有一个专门的括号键。(这是因为代码需要频繁的加括号)
{
功能太强大,以至于遇到什么问题的时候everyone likes to roll his own。导致dialect/implementation分裂,community分裂。不像一些新兴语言那样拥有大一统的library,阻碍了新手通过(从日常的一些小工具开发)实践来学习。早年Lisp在performance上败于C等语言,错过了个人计算机开始兴起的那段时期。
作者:金坷垃
来源:知乎
}
嗯,我感觉就介绍这么多吧,手机要自动关机了,让大家知道这个语言,更多的请自己百度或找书吧~
网友评论