Lisp的精髓是什么

Lisp的精髓是:lisp 模糊了过程与数据,数据与结构之间的边界。这样,结构和过程可以是数据,数据也可以是结构和过程。这种抽象非常符合事物的本质,所以用lisp去描述映射现实事物的时候,能够很自然和思维认知保持一致。

LISP是一种通用高级计算机程序语言,长期以来垄断人工智能领域的应用。LISP作为应用人工智能而设计的语言,是第一个声明式系内函数式程序设计语言,有别于命令式系内过程式的C、Fortran和面向对象的Java、C#等结构化程序设计语言。

LISP名称源自列表处理(LISt Processing)的英语缩写,由来自麻省理工学院的人工智能研究先驱约翰·麦卡锡(John McCarthy)在1958年基于λ演算所创造,采用抽象数据列表与递归作符号演算来衍生人工智能。

lisp 模糊了过程与数据,数据与结构之间的边界。这样,结构和过程可以是数据,数据也可以是结构和过程。这种抽象非常符合事物的本质,所以用lisp去描述映射现实事物的时候,能够很自然和思维认知保持一致。

如果说,编程语言的语法是工具,让人去抽象构建现实世界。那么lisp的语法就是量子,让人去构建物质,然后在迭代构建其它的一切。整个语言就是一个递归。

LISP为函数式程序设计语言,所有运算都能以函数作用于参数的方式来实现。

LISP没有命令式语言程序中常见赋值语句和变量,重复的过程可以使用递归的函数调用来表示,并不需要使用循环模式。

LISP是古老的函数语言、弱类型、动态推断,其代码本身就是各种列表。每一个表项均可以储存任何类型的数据如数字、函数、符号或一个子表等,在编码时,可以随时操作以更新列表。

LISP核心的操作符只有7个操作符:quote、atom、eq、car、cdr、cons、cond。前三者quote、atom、eq用于符号的推断;car、cdr、cons操纵表格;cond负责分支判断。这种简洁定义,非常接近图灵机原型的纯函数式语言,是现代语言完全无法比拟的。

LISP作为弱类型这优点相对缺点则是运行效率的低下。原始定义简洁的缺点使到大型开发工程变得困难,自底层到高层,自二维表查询到面向对象,使用者需要嵌入更多的函数来实现,致使LISP众多方言的衍生。

延伸阅读:

LISP的历史背景

20世纪50年代中期,在大多数计算机处理的都是数值数据等,包括语言学、心理学和数学领域上一些人们开始对人工智能产生了兴趣。觉得必须实现共同需要的一个方法,使计算机能够处理链表中的符号数据,允许语言的处理、信息存入和检索、定理证明的过程机器化。IBM是首先对人工智能开发有兴趣的商业机构之一。

1958年夏天,来自麻省理工学院的人工智能研究先驱约翰·麦卡锡(John McCarthy)参与IBM资讯研究部的工作,研究符号运算及应用需求。可是,IBM旗下的Fortran表处理语言却未能支援符号运算的递归、条件表达式、动态存储分配及隐式回收等功能。约翰·麦卡锡于1958年秋季回到麻省理工学院后,和Marvin Minsky组成了人工智能项目。开展一个表处理软件系统来实现McCarthy提出建议采纳者程序的工作,尔后推动了表处理语言LISP的诞生。

文章标题:Lisp的精髓是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/39050

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年2月21日 上午2:23
下一篇 2023年2月21日 下午1:01

相关推荐

  • 什么是产品路线图

    产品路线图是对产品规格、愿景、功能和方向的概述,以路线图的形式设计一个战略。当需要表达产品的愿景时,要制定必要的路线图,确定其战略。产品路线图中需要描绘产品的目标、功能和愿景,从战略到发布是构建产品路线图的多步骤过程。 产品路线图是对您的产品规格、愿景、功能和方向的概述,以路线图的形式设计一个战略。…

    2022年11月16日
    49000
  • 进度计划网络图用什么软件

    可以用以下软件:1、Microsoft Project;2、GanttProject;3、 Wrike;4、 Smartsheet;5、Monday.com;6、Trello。Microsoft Project是一款功能强大的项目管理软件,可帮助用户制定和管理进度计划网络图。它可以自定义进度计划网络…

    2023年2月27日
    26600
  • 项目人员安排软件有哪些

    项目人员安排软件有:1、Microsoft Project;2、Primavera P6;3、TeamGantt;4、Trello;5、Conclusion。Microsoft Project 是目前市场上最为流行的排工期计划软件之一。它提供了一系列的工具和功能,可以帮助用户管理和规划项目进度。 1…

    2023年4月27日
    1300
  • 权限管理有哪些技术

    权限管理有以下技术:1、功能权限管理技术;2、数据级权限管理技术。功能权限管理技术,一般就使用基于角色访问控制技术RBAC(Role Based Access Control)。该技术被广泛运用于各个系统,非常容易掌握。 1、功能权限管理技术 功能权限管理技术,一般就使用基于角色访问控制技术RBAC…

    2023年1月16日
    14200
  • Mac办公软件有哪些

    Mac办公软件有:1、PingCode;2、Worktile;3、Asana;4、禅道;5、Redmine。PingCode是国内国内的一款知名研发项目管理软件,曾在2021年,被知名媒体36氪评为:2021年国内研发项目管理榜单第一的研发项目管理系统。 一、PingCode 这是国内国内的一款知名…

    2023年4月30日
    900
  • xml特殊字符有哪些

    xml特殊字符有五个:1、&(和号);2、<(小于);3、>(大于);4、”(双引号);5、‘(单引号)。其中,&(和号)的转义符为&amp。严格地讲,在 XML 中仅有字符 “<“和”&” 是非…

    2022年12月30日
    1.7K00
  • Web前端是什么与后端的关系是什么

    Web前端是指构建和设计网站用户界面的技术和工具,它通常涉及使用HTML、CSS和JavaScript等技术来开发用户交互和视觉效果。Web后端是指处理网站后台功能的技术和工具。Web前端和后端通常协同工作,构成一个完整的Web应用程序。 一、Web前端是什么 Web前端是指构建和设计网站用户界面的…

    2023年5月8日
    4900
  • 单精度和双精度的区别是什么

    单精度和双精度的区别在于以下几个方面:1、所占的内存不同;2、所存的数值范围不同;3、十进制下的位数不同。所占的内存不同是指,单精度浮点数占用4个字节(32位)存储空间来存储一个浮点数,包括符号位1位,阶码8位,尾数23位。 一、所占的内存不同 单精度浮点数占用4个字节(32位)存储空间来存储一个浮…

    2023年2月17日
    2.6K00
  • 测试用例该怎么写

    测试用例包括:1、测试用例标识;2、测试说明;3、前提条件;4、测试数据;5、要执行的步骤;6、预期成果;7、后置条件;8、后置条件;9、实际结果;10、通过/失败。测试用例标识是指为每个测试用例创建一个唯一的 ID。 一、测试用例怎么写 1、测试用例标识 应为每个测试用例创建一个唯一的 ID。这些…

    2023年3月31日
    7700
  • linux解压tar文件命令

    linux解压tar文件的命令:1、tar –xvf file.tar;2、tar -xzvf file.tar.gz;3、tar -xjvf file.tar.bz2;4、tar –xZvf file.tar.Z。tar –xvf file.tar命令的作用是解压tar包,tar -xzvf fi…

    2023年3月17日
    41200

发表回复

登录后才能评论
联系我们
站长微信
站长微信
分享本页
返回顶部