22.2.3 Algol家族
在20世纪50年代后期,许多人认为程序设计变得过于复杂、专用、不科学。人们还觉得程序设计语言的种类过于繁多了,而且这些语言的组合既没有充分考虑通用性,也没有坚实的理论基础。从那时起,这种质疑的观点多次被提及,但真正的改变来自IFIP(International Federation of Information Processing,国际信息处理联合会)支持的一个工作组。在短短几年时间内,他们创立了一种崭新的程序设计语言。这种语言颠覆了我们对于程序设计语言及其定义的认识。多数的现代程序设计语言(包括C++)都曾从中受益。
22.2.3.1 Alogl60
Algol(ALGOrithmic Language)是由IFIP 2.1工作组设计的,是对现代程序设计语言概念的重要突破:
·词法作用域;
·使用文法定义语言;
·语法和语义规则明确分离;
·语言定义和实现明确分离;
·系统化地使用(静态即编译时)类型;
·直接支持结构化编程。
“通用编程语言”的理念就源于Algol。在它之前,程序设计语言都是专门服务于科学(如Fortran)、商业(如COBOL)、表处理(如Lisp)或仿真等。在这些语言中,与Algol60最接近的是Fortran。
不幸的是,Algol60从未在非学术领域中广泛使用。因为很多工业界人士认为它“过于古怪”,Fortran程序员认为它“太慢”,COBOL程序员认为它“对商业处理的支持不足”,Lisp程序员认为它“不够灵活”,大多数工业界人士(包括控制程序设计工具投资的经理)认为它“太学院派”,很多美国人认为它“太欧洲”。多数的批评是正确的。例如,Algol60报告中没有定义任何I/O机制!但是,同时代的其他语言也存在类似的问题,不能因此而否定Algol语言的重要地位,Algol为很多领域定下了新的标准。 ...
Get C++程序设计:原理与实践(进阶篇)(原书第2版) now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.