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


意义:ML可以说是最古老的“代数编程语言” 。有很多事情可以归功于ML:代数数据类型、模块、类型化函数编程 。令人惊讶的是,并不是之一次这样做!之一个ML被设计来匹配LCF的应用 。它不是一种通用语言,所以缺少许多这样的特性 。随着人们开始更广泛地应用它,他们从其他研究语言中学习了一些想法,并将它们合并到ML中 。然而,一个非常重要的概念来自于ML:类型推理 。ML是之一个不用类型化的静态类型语言,因为编译器会为你找到对应的类型 。这为类型化FP逃离学术界,进入生产和应用铺平了道路 。
ML也极大地影响了现代定理的验证 。Isabelle,CVC3,Coq都是基于ML的 。虽然FP的Haskell分支近年来越来越受欢迎,但许多类型的理论都是基于ML的 。(7)
原因:ML有很多有趣的特性,但人们关注它只是因为它的类型推断 。当时ML还是定理检验的专用语言 。 L和Haskell在同一年问世,Haskell是一个“更纯粹的”类型FP语言的例子 。
闲聊背景:艾伦·凯,1972年,1976年,1980年 。有一个不断变化的目的 。Smalltalk-72是之一个,Smalltalk-76向更广阔的世界介绍了“面向对象编程”的概念,而Smalltalk-80被广泛采用 。
Smalltalk不是之一个应用对象的语言,但却是之一个提出“面向对象”的语言 。不同的是,除了数字、布尔值等基础类型,Simula还有其他对象,在Smalltalk中,布尔值也是对象 。如果你想了解更多,你可以看看我在这里写的 。
主要意义:我们有时会认为Smalltalk是“真正的”OOP,而Java、Python等语言都不是“真正的”OOP,但事实并非如此 。像其他范例一样,OOP是许多不同影响的伟大混合体 。但是Smalltalk无疑是在推广这个概念 。如果你翻开任何一本80年代中期或者90年代初的关于OOP基础理论的书,都是以Smalltalk为主 。很多人也会把Smalltalk的例子转换成C++,少数人会用另一种语言,但是所有人都会用Smalltalk 。
Smalltalk还传播了对象可以作为共享数据的概念,这导致了CORBA的出现,并启发了洪都博客的可计算演员模型的创建 。
消亡原因:普遍认为Smalltalk衰落是因为人们改用C++ 。但这不是真的 。Smalltalk确实存在一些问题,尤其是难以与其他工具交互,运行时性能较差 。然而,即使在20世纪90年代,Smalltalk仍然在做着令人尊敬的业务,许多人认为它将成为一种占主导地位的商业语言 。