C 编程/历史
我们今天所知的计算领域始于 1947 年,当时贝尔实验室的三位科学家——威廉·肖克利、沃尔特·布拉顿 和 约翰·巴丁——发明了具有里程碑意义的 晶体管。1956 年,第一台全晶体管计算机 TX-0 在麻省理工学院完成。第一块 集成电路 是由 杰克·基尔比 于 1958 年在德州仪器公司制造的,但第一个高级编程语言甚至在此之前就出现了。
Fortran 项目由 IBM 于 1954 年开发。该项目的缩写是“IBM Mathematical Formula Translating System”,其目的是创建和促进一种过程式命令式编程语言的开发,这种语言特别适合数值计算和科学计算。它在生产力和编程简便性(与 汇编语言 相比)以及速度(Fortran 程序的运行速度几乎与用汇编语言编写的程序一样快,在某些情况下甚至一样快)方面取得了突破。此外,Fortran 的编写层次足够高(因此机器独立性也足够高),因此成为第一个被广泛采用的编程语言。算法语言 (Algol 58) 于 1958 年从 Fortran 派生而来,并于 1960 年演变成 Algol 60。然后,组合编程语言 (CPL) 于 1963 年从 Algol 60 创建。1967 年,它演变成 基本 CPL (BCPL),这是 B 的基础,后者于 1971 年创建,并作为C 的基础。
B 由贝尔实验室的 肯·汤普森 创建,它是 BCPL 的简化版本,也是一种 编译语言(参见 B 用户参考),用于早期版本的 UNIX 操作系统。正如 丹尼斯·里奇 在他的 C 语言发展
PDP-7 上的 B 编译器不生成机器指令,而是生成“线程代码”,这是一种解释方案,其中编译器的输出由一系列执行基本操作的代码片段的地址组成。这些操作通常——特别是对于 B——在一个简单的堆栈机上进行。
汤普森和里奇改进 B,并将结果称为 NB。对 NB 的进一步扩展产生了它的逻辑继承者 C。大部分 UNIX 都用 NB 重写,然后用 C 重写,这导致了更便携的操作系统。UNIX 的 可移植性 是 UNIX 和 C 最初流行的主要原因。系统程序员不必为每台新机器创建新的操作系统,只需编写机器所需的少量系统相关部分,然后为新系统编写 C 编译器即可。由于大多数系统实用程序是用 C 编写的,因此用 C 编写新实用程序是合理的。
美国国家标准协会于 1983 年开始对 C 语言进行标准化工作,并于 1989 年完成了标准化工作。该标准 ANSI X3.159-1989“编程语言 C”作为所有 C 编译器实现的基础。该标准后来在 1990 年和 1999 年进行了更新,以允许使用一些常见的功能,或者是在 C++ 中出现的功能。