我们今天所知的计算机科学领域始于1947年,当时贝尔电话实验室的三位科学家——威廉·肖克利(William Shockley)、沃尔特·布拉廷(Walter Brattain)和约翰·巴尔丁(John Bardeen)——发明了具有开创性的技术:晶体管。1956年,麻省理工学院完成了第一台完全基于晶体管的计算机 TX-0。1958年,德州仪器的杰克·基尔比(Jack Kilby)创造了第一个集成电路,但第一个高级编程语言早在那之前就已经存在。

Fortran 项目由 IBM 于1954年开发。“Fortran”是“The IBM Mathematical Formula Translating System”的缩写,该项目旨在创建并促进开发一种程序化、命令式的编程语言,特别适用于数值计算和科学计算。与汇编语言相比,它在生产力、编程简易性和运行速度方面取得了突破(Fortran 程序的运行速度几乎与汇编语言编写的程序一样快,甚至在某些情况下一样快)。此外,Fortran 的高级别编程(因此具有足够的机器独立性)使其成为第一个广泛采用的编程语言。1958年,算法语言(Algol 58)由 Fortran 派生而来,并在1960年发展成 Algol 60。接着,1963年,Algol 60 演变成联合编程语言(CPL)。1967年,它进一步发展成了基本联合编程语言(BCPL),BCPL 又成为了 B 语言的基础,B 语言于1971年诞生,成为 C 语言的前身。

B 语言由肯·汤普森(Ken Thompson)在贝尔实验室创建,它是 BCPL 的简化版,也是一个编译语言(参见《B 用户参考》),用于早期版本的 UNIX 操作系统。正如丹尼斯·里奇(Dennis Ritchie)在《C 语言的发展》中所指出的:

“PDP-7 上的 B 编译器并不生成机器指令,而是生成‘线程代码’,这是一种解释性方案,其中编译器的输出由执行基本操作的代码片段的地址序列组成。操作通常——尤其是对于 B——是在一个简单的堆栈机器上执行的。”

汤普森和里奇改进了 B 语言,并称之为 NB。对 NB 语言的进一步扩展创造了它的逻辑继任者——C 语言。UNIX 的大部分代码被用 NB 和 C 重写,这使得操作系统变得更加可移植。UNIX 的可移植性是 UNIX 和 C 最初流行的主要原因。系统程序员无需为每台新机器创建一个新的操作系统,他们只需编写机器所需的少量系统相关部分,然后为新系统编写一个 C 编译器。由于大多数系统工具都是用 C 编写的,所以编写新的工具时也理所当然地选择使用 C。

美国国家标准协会(ANSI)于1983年开始着手标准化 C 语言,并在1989年完成了标准。该标准 ANSI X3.159-1989《编程语言 C》成为所有 C 编译器实现的基础。此后,该标准于1990年和1999年进行了更新,加入了在常用的或者出现在 C++ 中的功能。

最后修改: 2025年01月12日 星期日 09:28