10 种更具影响力的编程语言 十大最热门世界编程语言排行榜

前几天看了这个“史上最重要的20种编程语言”,是一个“我刚编出来的荒诞表格” 。之所以荒谬,是因为他列出的“最重要”的语言包括Go,却没有ALGOL、Smalltalk或ML 。他也没提帕斯卡,因为它“根本就灭绝了” 。荒谬!这完全违背了“有史以来最重要的事情”的含义 。
那么,我们来讨论一下那些“几乎灭绝”的语言,以及它们如此重要的主要原因 。
声明:是的,并不是所有这些都消失了,也不是所有这些都被遗忘了 。像大多数人一样,你听说过Smalltalk,对吗?另外,可能会有上亿个故障,因为你考察计算机60年的历史,总会出一些故障 。如果你发现有什么不对的地方,你可以对我大喊大叫!
免责声明2:是的,我知道有些是“首创”,有些是“先普及” 。历史很复杂!
探索影响在开始之前,简单介绍一下如何寻找影响力 。仅仅知道X是之一种具有Z特征的语言,并不意味着X实际上影响了Z,虽然Absys可以说是之一种逻辑程序设计语言,但几乎所有的逻辑程序设计实际上都起源于Prolog,是独立开发的 。最后,只有一种 可以确定X影响了Y:引用 。这意味着:
【10 种更具影响力的编程语言 十大最热门世界编程语言排行榜】y在其参考手册中引用了X;
x在Y引用的论文中被引用;
Y的作者说:“我们受x的影响 。”
引用是可传递的 。有时候Q语言的手册会列出鼓励文献R,其中R引用论文S作为灵感,提到S的灵感来源于语言T,那么,我们知道T影响Q,即使这个链条有几个步骤 。这意味着我们必须通过各种渠道找到源头 。为了提高速度,我们应该使用启发的 来决定在哪里寻找 。
一个有效的启发 就是编程语言的谐音 。一种语言独立提出相同的语法是非常罕见的 。因此,如果两种语言的某些语法相似,其中一种可能会影响另一种 。例如,即使我们没有浏览Matz的设计决策,我们也知道Ruby受到了Smalltalk的影响,因为他们都应用了select 来过滤列表 。这不是确凿的证据 。可能是Matz独立开发的,也可能是Ruby和Smalltalk都受一个共同祖先的影响 。但这给了我们一个开始寻找的方向 。
语言商用计算机编程语言背景:CODASYL,1960年 。COBOL是由计算领域的商业/科学突破形成的 。当时,高级工业语言要么用于工程计算,要么用于管理数据 。工程师都支持FORTRAN,但商业世界一片混乱,充斥着COMTRAN、FLOW-MATIC等语言 。因此,国防部成立了一个委员会来制定共同的商业语言 。那是COBOL 。
COBOL、ALGOL、FORTRAN、LISP构成了四种“母语” 。今天,虽然我们认为它是一种小语种,但它曾经是世界上更流行的语言 。我们的许多遗留业务系统仍在其上运行 。
主要意思:在语法和语义方面,我们很少在现代计算中看到COBOL 。COBOL最重要的附加效果是提出了记录数据的概念 。在FORTRAN和ALGOL中,唯一的数据结构是静态数组 。但是,在COBOL中,我们可以读取包括分层数据在内的结构化文件,它会主动将这些文件解构为具有代表性的变量 。它是现代建筑的先驱 。
原因:这里有两个因素 。一:COBOL不与其他PLT的工作重叠 。很少有人会在COBOL上构建 。这意味着基于祖先教训的第二代或第三代语言中几乎没有COBOL基因 。这不是COBOL的本质,更多的是因为学术界对COBOL的创建过程不屑一顾 。CODASYL是一个商业集团,显然它不值得关注(1) 。即使对于今天的语言来说,COBOL也是非常复杂的 。这意味着COBOL编译器在微型机和微型机上落后于同时期的编译器,为其他语言的蓬勃发展并最终超越它提供了空的空间 。
算法语言(Algorithmic Language)背景:阿尔戈尔委员会,1960年 。ALGOL-58是两年前出的,但是很快就被取代了,所以我把它们组装在一起 。该委员会希望为算法研究提供一种良好的语言 。换句话说,ALGOL是一种情境“伪代码” 。
在四种母语中,阿尔戈尔语是之一种“消亡”的语言 。大家还是知道LISP(2)
的,COBOL还是提供了对大量遗留系统的支持,大部分科学软件包还是有FORTRAN的 。但是我遇到过很多程序员,他们甚至都没有听说过ALGOL 。你可能觉得它是最不重要的母语,其实恰恰相反 。在四种母语中,只有LISP可以和ALGOL的广泛重要性相提并论 。主要意义:我们来看看:词法作用域、构造性编程、嵌套函数、情景语言规范、语义按名称调用、BNF文法、块注释...今天的每一种现代语言都深受ALGOL的影响 。
原因:ALGOL是一种研究语言,而不是商业语言 。它是专门为算法研究而设计的 。该规范没有定义任何I/O,这使得它在实践中不切实际 。当然,你可以写一个编译器扩展,但是你需要添加更多其他的东西 。