22.2.2 现代程序设计语言的起源

下面是重要的早期程序设计语言的发展历程:

这些程序设计语言的重要性部分是因为它们曾经被广泛使用(目前在某些情况下仍在被广泛使用),另一个原因是,它们是重要的现代程序设计语言的祖先——而且通常还是直接祖先,具有相同的名字。在本节中,我们介绍三种早期程序设计语言——Fortran、COBOL和Lisp,大多数现代程序语言的祖先都可以追溯到这三种语言。

22.2.2.1 Fortran

1956年Fortran的发明可能是程序设计语言发展历史中最重要的一步。“Fortran”表示“公式转换”(Formula Translation),其基本思想是将人类(而不是机器)习惯的符号表示转换为高效的机器代码。Fortran的符号表示法是一种适合于科学家和工程师描述问题数学求解方案的模型,而不是由(最新的)电子计算机所提供的机器指令。

以现代观点来看,Fortran可以看作对“用代码直接描述应用领域”的首次尝试。它允许程序员像课本中那样书写线性代数公式。Fortran提供了数组、循环和标准的数学函数(使用标准数学符号,如x+y和sin(x))。它有一个数学函数的标准库,也提供了I/O机制,用户还可以自己定义函数和库。

Fortran所使用的符号表示大都是机器无关的,因此Fortran代码通常只需很少改动就可以从一台计算机移植到另一台计算机上。这在当时的发展水平上,是一个巨大的进步。因此,Fortran被认为是第一个高级程序设计语言。

Fortran有一个非常重要的优点:由Fortran源码生成的机器码可以达到几乎最优的效率。要知道当时的计算机有几个房间那么大,并且极其昂贵(是一个优秀的程序员团队的年薪总和的许多倍),(按现代的标准)它们还慢得出奇(例如100000条指令/秒),内存小得可怜(例如8K字节)。不过,人们还是能将有用的程序塞到这些机器中,因此,像Fortran这种符号描述方法上的改进,如果不能保持高效率,即便能大大提高程序员的生产率和程序的可移植性,也不会取得成功。 ...

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.