主要特色:

CommonLISP : lisp系集大成者, 工业化强度的大型语言. 拥有理论上最高的表达力, 非常复杂, 学习难度极大. 喜欢的人捧到天上, 觉得它是一切语言的终点, 不喜欢的人恶心死, 觉得各种混乱各种冗余, 缺失美感. (工业化语言)

Scheme: 一种以静态作用域和强制严格尾递归实现为特色, 遵从的理念是编程语言发展不该越来越复杂,不断堆叠新的功能和特色, 而是应该不断消除缺陷和限制, 以使得不再需要添加功能和特性就能达到目的. 追求数学上的美感, 跟CommonLISP在很多理念上完全相反, 相对简单,但是极端灵活. 由于缺少实用的库而长期沦为教学语言, 很少用于实用. (算法语言)

Clojure: 一种新兴的lisp, 起于jvm平台, 现在已经移植到了.Net 和 Node.js 因为根植于几个非常流行的平台,使得其具有得天独厚的优势, 市场占有率节节上升, 直追前两大lisp. 语法上充分利用了多种括号,使得括号总数减少了.同时追求工业化强度和数学美感之间的平衡. 启动时间过长是最大的缺点.

newLISP: 剑走偏锋的独特lisp, 有大量创新内容, 同时保留一些在lisp系进化过程中被抛弃的设计(可能是过于大胆或者过于灵活副作用太大等原因),这些魔鬼设计的组合形成了一个强大独特的动态脚本语言系统.最大特色是语言好小,整个只有200k.

AutoLISP:曾经作为AutoCAD软件的内置脚本而成为最多人使用的lisp,但是语法古老, 缺陷很多,性能低下,代码丑陋, 世人关于lisp的种种不实的评论很多是由它而来. 现在已经被淘汰, 新版本AutoCAD用CommonLISP.

EmacsLISP: Emacs编辑器的扩展脚本语言, 现在依然存活的最古老的lisp语法之一, 因为编辑器而为世人所知. 但是跟AutoLISP一样,是一种古老的落后的lisp语言.


各个有影响力的分支:

Scheme的分支:

Racket: 以Scheme为基础, 增加了大量实用的语法和库, 使其成为一种更实用的语言而不仅仅是教学语言, 完全兼容低版本的scheme, 大部分兼容高版本的scheme.
IronScheme: .Net上的Scheme实现, 在R6RS标准的95%之上, 增加了跟.Net库的互操作和集成, 使得其成为一种实用的嵌入.NET程序的灵活脚本语言.在ngen的帮助上, 它成为启动最快的.Net lisp.

Clojure的分支:
ClojureCLR: .NET的DLR上的Clojure,并不是对jvm版的翻译,而是根据.Net而定制的实现. 
ClojureScript: 把Clojure编译为javascript以运行在浏览器或Node.js. 是clpjure的子集


社区和文档:

CommonLISP 社区对新人很不友好, 充满歧视. 教程很多, 但是很古老,文档多但是都过于庞大, 让人望而生畏.

EmacsLISP 社区教程丰富细致

Scheme社区像大学, 文档都像论文一样

Clojure社区非常友好, 同时文档书籍以很快的速度增加着

Racket文档庞杂,社区没什么人, 并且设计者很有闭门造车的意味

newLISP社区在没落,文档不完整, 但整体方向没问题.


流行程度:

CommonLISP (30几位)  
Scheme (40几位)
Clojure (50-100位)

其他(不在前100)


各种Lisp系语言大检阅的更多相关文章

  1. BMP图像直方图均衡算法(C语言大作业)

    万丈高楼平地起 C语言大作业 一.学习笔记篇 1.学习MarkDown MarkDown注重写作本身,而非花俏的界面 编辑器:vscode 插件:Markdown,Markdown Preview 2 ...

  2. C语言大总结

    C语言大总结 一. C语言基本常识 1.语言由函数组成 2.main是程序入口 3.C语言中不能出现中文或中文字符 (凝视和字符串除外) keyword : C语言提供表示特殊含义的单词 特点 : 1 ...

  3. Atitit.dart语言的特性  编译时js语言大总结

    Atitit.dart语言的特性  编译时js语言大总结 1. 原型环境1 1.1. Dart可以编译js3 2. 第二个期待的理由是Dart的语言特性,没有什么特别特性好像,类似java c#一小时 ...

  4. Java系的大网站架构-LinkedIn和淘宝

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  5. R语言︱大数据集下运行内存管理

    在实操时出现以下的问题: Error: cannot allocate vector of size 2.9GB 大神指导(http://bbs.pinggu.org/thread-3682816-1 ...

  6. OC语言大总结(上)

    根据OC学习的知识点,总结了一下,希望能帮到大家! 作者:韩俊强  未经允许,请勿转载! 关注博主:http://weibo.com/hanjunqiang 第一节类于对象   类与对象http:// ...

  7. #006 C语言大作业学生管理系统第三天

    还差最后两部分 读取文件 恢复删除的学生信息 先学会处理文件的 知识点,再继续跟着视频做这个作业. 应该明天周六能把视频里手把手教的学生管理系统敲完 第二周尽量自己能完成C语言课本最后面那道学生管理系 ...

  8. Python、Lua和Ruby比较——脚本语言大P.K.

    译者按:Python.lua和ruby在C/C++是日渐式微的情况下,在java/.net的围歼中努力抗争的三个当红小生.在Tom Gutschmidt的著作<Game Programmng w ...

  9. Go语言大神亲述:历七劫方可成为程序员!

    “历劫1”:你坚信你可以用Go来做面向对象编程? 在经历了一次Go应用之旅之后,你可能就会开始思考:“怎么样才能让这种语言更像面向对象的编程语言?”因为你已经习惯了这种编程,你想要制作健壮的代码.想要 ...

随机推荐

  1. javascript学习3

    javascript数据类型.函数传参 javascript语言核心:ECMAScript 定义js的语法:基本对象.数据类型 js的数据类型 typeof运算符  判断数据类型 字符串.数字.布尔. ...

  2. A way escape rbash

    hacker@beta:~$ ls -rbash: /usr/bin/python: restricted: cannot specify `/' in command names ryuu@beta ...

  3. [Leetcode Week10]01 Matrix

    01 Matrix 题解 原创文章,拒绝转载 题目来源:https://leetcode.com/problems/01-matrix/description/ Description Given a ...

  4. 一.Select 函数详细介绍【转】

    转自:http://www.cnblogs.com/hjslovewcl/archive/2011/03/16/2314330.html Select在Socket编程中还是比较重要的,可是对于初学S ...

  5. Linux内核线程之深入浅出【转】

    转自:http://blog.csdn.net/yiyeguzhou100/article/details/53126626 [-] 线程和进程的差别 线程的分类 1     内核线程 2     轻 ...

  6. html的表格

    表格元素及相关样式 1.<table>标签:声明一个表格 2.<tr>标签:定义表格中的一行 3.<td>和<th>标签:定义一行中的一个单元格,td代 ...

  7. c#读取LOG文件并解决读取提示被其他进程占用问题

    c# 读写文件时文件正由另一进程使用,因此该进程无法访问该文件,在IO处理上遇到了无法操作的问题. 文件“C:\u_ex.log”正由另一进程使用,因此该进程无法访问该文件. u_ex.log是一个日 ...

  8. Spring创建对象的原理

    当容器启动时,首先会加载给定的配置文件,将配置文件逐行解析.当解析到bean标签时,根据class属性的值,通过反射调用创建对象. 将创建好的对象存储到Spring自身维护的Map当中.map中的ke ...

  9. HDU 2102 A计划【三维BFS】

    A计划 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submissio ...

  10. 让你的apache支持ipv6

    如果你使用的linux系统已经获取到了ipv6地址,你就可以让你的apache htpd 等也支持ipv6. 1.检查linux监听的端口,如果有:::port ,而且获取到了ipv6地址,则可以确定 ...