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

相关推荐

  • devops模式是什么意思

    ### 摘要 DevOps模式诠释了软件开发(Dev)与信息技术运维(Ops)之间的融合与协作,意在加速软件交付、提高服务稳定性以及更快响应市场变化。此模式涵盖的核心观点包括 1、持续集成与持续交付(CI/CD) 2、自动化测试 3、敏捷方法论 4、监控与反馈。尤其是持续集成与持续交付(CI/CD)…

    2024年3月26日
    6600
  • 国内oa软件

    标题:国内OA软件现状和选型策略 摘要:国内OA(Office Automation)软件领域经过多年发展,已经形成了多样化产品与竞争激烈的市场环境。具体而言:1、功能完备,服务于组织各项日常管理任务;2、易用性强,用户体验不断优化;3、高度定制化,满足企业特定需求;4、移动化、云服务趋势显著。在众…

    2024年1月11日
    22500
  • 360考核和kpi考核有什么区别

    360考核和kpi考核的区别:1、定义不同;2、过程不同;3、目的不同;4、结果不同。其中,定义不同指360°考核帮助一个组织中的成员从与自己有工作关系的主体中获取本人绩效信息反馈的过程,kpi考核是用于衡量工作人员工作绩效表现的量化指标。 1、定义不同 360考核:360度考核法是常见的绩效考核方…

    2022年11月16日
    2.2K00
  • 看板用什么软件比较好

    比较好的看板软件:1、Worktile;2、PingCode;3、Monday.com;4、ClickUp;5、Wrike;6、Smartsheet;7、Asana;8、Jira。Worktile 是国内的一款基于看板框架的而打造的项目管理工具,在国内拥有60万+企业用户。 1、Worktile W…

    2023年4月8日
    50600
  • 什么是宏编程鼠标

    摘要 宏编程鼠标是一种高级输入设备,允许用户预设一系列命令或操作,通过单击一键将其自动化执行。它们在1、提高工作效率、2、游戏策略执行、3、重复性任务简化等方面有显著优势。详细来说,宏编程鼠标通过允许用户编程特定的操作序列,可以大幅度提升完成复杂任务的速度与精准度,尤其在需要快速重复某些操作或组合键…

    2024年4月25日
    600
  • 如何构建高效的进度管理系统

    在创建高效的进度管理系统时,关键要素需遵循这些原则:1、明确目标;2、合理规划;3、监控执行;4、灵活调整;5、定期回顾。以合理规划展开,它要求制定详细的项目计划,界定里程碑,分配资源,并且考虑到潜在的风险。这是构建实际进度图的基础,确保每个参与者都清楚自己的职责,以及期望完成的时间点。 一、规划和…

    2023年12月26日
    25500
  • 商业智能产品主要功能有哪些

    商业智能产品主要功能有以下几点:1、数据仓库;2、数据ETL;3、数据统计输出(报表);4、分析功能。商业智能是一套完整的解决方案,用来将企业中现有的数据进行有效的整合,快速准确地提供报表并提出决策依据,帮助企业做出明智的业务经营决策。 1、数据仓库 高效的数据存储和访问方式。提供结构化和非结构化的…

    2022年10月25日
    1.6K00
  • 项目公司如何开展业务管理

    业务管理是指对公司的日常事务进行规划、组织、领导与控制等管理活动,以实现公司的业务目标和提高经营效率。项目公司为了开展有效的业务管理,通常需要采取以下措施:确立清晰的业务目标、优化组织结构与流程、实施项目管理标准化、强化团队合作与交流、监控财务状况以及风险、并适时调整管理策略。特别是对于确立清晰的业…

    2024年4月10日
    5300
  • Java语言的GC为什么不实时释放内存

    Java的GC不使用引用计数器方法,而是使用可达性分析算法。GC的目的是恢复已分配和未使用的内存,提高内存利用率和程序执行效率。如果我们对内存进行实时的垃圾分析和回收,将会消耗更多的资源和执行时间。 1、最基本的纯引用计数方式的自动内存管理可以做到实时释放死对象,但却无法处理存在循环引用的对象图的释…

    2023年2月8日
    49300
  • 企业怎样建设项目

    企业建设项目的步骤是:一、立项审批;二、规划设计;三、 招投标;四、建设工程报建;五、施工许可;六、建设工程竣工验收备案。按照国家规定,所有建设项目必须经过立项审批才能启动,包括项目的可行性研究、环境影响评价等。 一、立项审批 按照国家规定,所有建设项目必须经过立项审批才能启动,包括项目的可行性研究…

    2023年4月16日
    37700

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部