【IT168 评论】很久以前,这种语言站在计算机科学研究的前沿,特别是人工智能的研究方面。现在,它很少被用到,这一切并不是因为古老,类似古老的语言却被广泛应用。

其他类似的古老的语言有 FORTRAN, COBOL, LISP, BASIC, 和ALGOL 家族,这些语言的唯一不同之处在于,他们为谁设计,FORTRAN是为科学家和工程师设计的,他们在计算机上编程的目的是是为了解决问题.COBOL是为了商业设计的,最好的体现在于让商人们可以利用电脑时代.LISP是了计算机科学研究设计的,最突出的体现在计算机基本原理研究.BASIC是为初学者设计的.最后,ALGOL语言是有计算机程序员修改,演变成其他流行的语言,如C,Pascal和Java的一个庞大的家族。

上面提到的某些语言已经不像当初那么流行了。我们在这里可以把它们称作“失败”。问题是它们为什么失败?第一站出来的是COBOL. 很不幸,它以面向商业人员的很好的可读性就是它的失败点。商业人员发现,他们可以雇佣程序员去管理他们的系统。程序员自然会偏向于为他们设计的语言,而不是他们的老板。所以随着时间推移,越来越多的商业功能都使用例如VB, C, C++ 和JAVA实现了。现在,只有很少一部分软件仍通过COBOL语言编写。

BASIC却有不同的命运。他是为入门人员设计的。那些在微机上学习编程,他们会使用内置的BASIC语言作为起点。随着时间推移,微机被运行微软操作系统的个人电脑,或者MacOS的苹果电脑所代替。这种语言逐渐被VB所取代。虽然他是面向初级程序员,它有一段时间代替了COBOL。为什么要耗费这么多的资源在昂贵的编译器上,而便宜的解释器在我们的电脑上已经存在?最近,微软以迁移到.NET框架上,让VB跟在后面。它的替代者, C#就是ALGOL家族中的一员,跟Java相近。

这些年FORTRAN的使用起起伏伏。在某一阶段,差不多所有科学方面的代码是用它来写的。它的优点是这门语言中没有指针,并且不允许存在递归。这意味着所有数据的引用位置都可以在编译时确定。FORTRAN编译器利用这些额外的信息使程序运行格外地迅速。不幸的是,随着时间的推移,固定大小的数组这种数据结构变得过时了。现在,科学要处理任意形状的风格,甚至表述更为复杂的真实世界。这需要在语言中额外地加入指针。这些情况发生的时间段里,FORTRAN逐渐走向没落。现在,它被转移到高性能计算工作,其中新的并行矩阵和矢量运算最近添加到这门语言中,仍然使它拥有性能优势。

ALGOL语言家族取得了成功。其原因是,这些语言是由程序员为程序员写的。随着时间的推移,这些与系统和应用相关的语言成为了现在最常用的语言。它的优点是越多地程序员使用,这门语言就能得到更多地改进,并且越来越多地程序是用它们来写就的。这提供了一个良性循环,更多的程序员们又被聘请在己编写的程序上工作。这是一个网络效应的例子。一个系统的“价值”是它的用户数目的平方,在于以此速率增长的用户之间的交互作用。

那么为什么Lisp语言家族会站在失败者一边呢?有些人认为是语法的错。Lisp因为它的括号而臭名昭著。我并不认为是这个理由。许多用户说良好的格式可以让他们跟上这些括号。同时,Lisp语言被发明不久后,有一个叫“super-bracket”的语法可以让人快速表示出任意数量的回括号")"。这个特性在今天已经很少有人使用了。最后,优秀的编辑器解决了大多数的语法问题。

另一些人经常抱怨Lisp是一门函数式语言。这是失败的理由吗?自然,跟早期的语言相比,只有Lisp算是函数式的。但事实上,我认为没有这么简单。Lisp也有命令式语言的特性,ALGOL系列语言也可以被当作一门纯正的函数式语言来用。 如果有人想选择一种特定的编程范式来写代码,一些特定的语言可以让这个选择更容易的实现。然而,现代语言已经足够灵活,它们能支持多种编程范式,近乎完全命令式的Lisp没有理由不存在。

lisp不是函授型语言_讨论:为什么Lisp语言不再被广泛使用相关推荐

  1. lisp不是函授型语言_为什么Common Lisp是一门难学的语言

    Common Lisp学起来不容易,很多人花了很久时间然而效果有限.为什么呢?我来试着总结一下原因.首先来看语言自身的原因: 1. Common Lisp是一个允许高度定制的语言,在语言的不同层面,都 ...

  2. lisp不是函授型语言_【神奇的函数式编程语言的独特功能】Lisp 的运行期修改、编译代码,并替换当前运行版本的试验...

    [神奇的函数式编程语言的独特功能]Lisp 的运行期修改.编译代码,并替换当前运行版本的试验 <实用 Common Lisp 编程>一书中提到一个 Lisp 神奇案例:运行在太空飞船上的一 ...

  3. lisp不是函授型语言_LISP语言

    [拼音]:LISP yuyan [外文]:LISP 为非数值符号运算而设计的表处理语言.LISP是英文LIST PROCESSING(表处理)的缩写. LISP语言是1960年J.麦卡锡在递归函数论基 ...

  4. lisp不是函授型语言_lisp语言的定义

    展开全部 约翰麦卡锡定义lisp 当然早已有了各种计算模型--最著名的是图32313133353236313431303231363533e4b893e5b19e31333361303032灵机. 但 ...

  5. lisp不是函授型语言_lisp函数大全详解

    lisp函数大全详解 AutoLISP提供了大量的预定义函数.若将函数名(大小写都可)作为表中的第一个元素函数变元(若有的话)作为表中后面的元素,就可以调用那个函数.本章按字母顺序列出AutoLISP ...

  6. lisp 读取样条曲线座标点_如何在lisp中求一条直线和一条曲线的交点

    ★快捷命令的命名规律 1. 快捷命令通常是该命令英文单词的第一个或前面两个字母,有的是前三个字母. 比如,直线(Line)的快捷命令是"L":复制(COpy)的快捷命令是" ...

  7. 编写lisp程序解一元二次方程_怎样用C语言编一个解一元二次方程的程序?

    展开全部 用三个变量,来接一元二次方程的三个参数, 然后62616964757a686964616fe78988e69d8331333365633839根据这三个参数计算△=b*b-4ac,再根据△判 ...

  8. lisp填挖横断面提取_求助,AUTOLISP语言的这个程序流程图怎么写。关于纵横断面绘制的...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 (defun huitu(p1 p2) (setq topleft (list (- (car p1) 4.5) (- (cadr p1) 6.0)) t ...

  9. 深圳python如何评价_如何评价shen 语言?

    这才是我苦苦追寻的lisp呀! 生物学上,我们知道基因有隐性和显性.如果爸爸的眼睛是蓝色,妈妈的眼睛是棕色,那么他应该继承了来自父母的基因:即有蓝色又有棕色的.而表象可能他的眼睛是棕色的. 对于语言也 ...

最新文章

  1. 《用Python进行自然语言处理》第 11 章 语言数据管理
  2. optee中spinlock的实现原理详解
  3. python把字符串3des加密_Python干货之六大密码学编程库
  4. 2021牛年春节海报PSD分层模板,简单一点就好!
  5. cacti配置流量汇总
  6. php 重写sessionid,PHP 重置 phpsessionid
  7. retorfit converter使用说明
  8. 【转】2011年考研备战时间表
  9. LINUX下载编译g729
  10. 高斯法求解线性方程组
  11. xshell下载链接及安装步骤
  12. VC++利用笔记本自带摄像头扫二维码功能(附源码demo)
  13. 一毕业就上了艘“火箭”,这群校招生在大公司创业
  14. 3蛋白wb_干货分享:三个蛋白组学数据库的应用
  15. MACE源码解析【ARM卷积篇(一) 】1*N和N*1卷积实现
  16. Java源码阅读之String(4)
  17. axture动画原型制作_小孩子最喜欢的国产“机甲”动画,90后全看过,00后一个也不知道...
  18. PPP协议使用同步传输技术传送比特串0110111111111100。试问经过零比特填充后变成怎样的比特串?若接收端收到的PPP帧的数据部分是0001110111110111110110,问删除发送端
  19. 数据可视化分析教学课件——FineBI实验册节选====门店分析
  20. 给学弟学妹们几点建议

热门文章

  1. centos 7.5 内核升级
  2. 初探SEO关键词竞争程度的智能算法思路
  3. ruby_对象的比较_等于号_3个等于号_equal_eql
  4. arduino教程-13. 蓝牙
  5. 居家办公小妙招、前后端在远程服务器上部署完成后怎么启动?
  6. MobaXterm 最下面显示服务器信息
  7. Mac如何固定桌面排序
  8. 记录:为啥没有雷电4接口的显卡扩展坞与移动硬盘?
  9. 移动流量转赠给好友_移动的号怎么赠送流量给好友?
  10. 将数组以逗号拼接_javascript将数组拼接成一个字符串