二叉排序树的实现_webservice原理_二叉排序树的删除图解(7)

电脑杂谈  发布时间:2017-03-17 05:12:08  来源:网络整理

1949 – C-10

1950与1960年代

有三个现代编程语言于1950年代被设计出来,这三者所衍生的语言直到今日仍旧广泛地被采用:

Fortran (1955),名称取自”FORmula TRANslator”(公式翻译器),由约翰·巴科斯等人所发明;

LISP,名称取自”LISt Processor”(列举处理器),由约翰·麦卡锡等人所发明;

COBOL,名称取自”COmmon Business Oriented Language”(通用商业导向语言),由被葛丽丝·霍普深刻影响的Short Range Committee所发明。

另一个1950年代晚期的里程碑是由美国与欧洲计算机学者针对”算法的新语言”所组成的委员会出版的ALGOL 60报告(名称取自”ALGOrithmic Language”(算法语言))。这份报告强化了当时许多关于计算的想法,并提出了两个语言上的创新功能:

巢状区块结构:可以将有意义的程式码片段群组成一个区块(block),而非转成分散且特定命名的程序。也就是我们所熟悉的模块化设计。

词汇范围(lexical scoping):区块可以有区块外部无法透过名称存取,属于区块本身的变量、程序以及函式。就是我们所熟悉的作用域。

另一个创新则是关于语言的描述方式:一种名为巴科斯-诺尔范式 (BNF)的数学化精确符号被用于描述语言的语法。之后的编程语言几乎全部都采用类BNF的方式来描述程式语法中上下文无关的部份。BNF主要使用在了Algol 60的设计上面。而Algol 60对之后语言的设计上带来了特殊的影响,在其他部分的语言设计中这种设计思想很快的就被广泛采用。并且后续为了开发Algol的扩充子集合,设计了一个名为Burroughs(en:Burroughs large systems)的大型系统。而延续Algol的关键构想所产生的成果就是ALGOL 68:

语法跟语意变的更加正交(orthogonal)

采用匿名的历程(routines)

采用高阶(higher-order)功能的递回式输入(typing)系统等等。

整个语言及语意的部分都透过为了描述语言而特别设计的Van Wijngaarden grammar来进行正式的定义,而不仅止于上下文无关的部份。Algol 68一些较少被使用到的语言功能(如同步与并列区块)、语法捷径的复杂系统,以及型态自动强制转换(coercions),使得实作者兴趣缺缺,也让Algol 68获得了很难用(diffcult)的名声。克劳斯·维尔特就干脆离开该设计委员会,另外在开发出更简单的Pascal语言。 在这段期间被开发出来的重要语言包括有:

1951 – Regional Assembly Language

1952 – Autocode

1954 – FORTRAN

1954 – IPL (LISP的先驱)

1955 – FLOW-MATIC (COBOL的先驱)

1957 – COMTRAN (COBOL的先驱)

1958 – LISP

1958 – ALGOL 58

1959 – FACT (COBOL的先驱)

1959 – COBOL

1962 – APL

1962 – Simula

1962 – SNOBOL

二叉排序树的删除图解_webservice原理_二叉排序树的实现

1963 – CPL (C的先驱)

1964 – BASIC

1964 – PL/I

1967 – BCPL (C的先驱)

1967-1978:确立了基础范式

1960年代晚期至1970年代晚期的期间中,编程语言的发展也有了重大的成果。大多数现在所使用的主要语言范式都是在这段期间中发明的:


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-37952-7.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...