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

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
外面的墙上都有