Cprogramming 简明教程
History of C Language
C programming 是一种通用、面向过程的程序设计语言。它既独立于机器,又具有结构性。C 是一种高级编程语言,由 Dennis Ritchie 在 20 世纪 70 年代初开发。它现在是全球最流行且最具影响力的编程语言之一。
除了其在计算机编程技术演变方面的意义之外,C 语言的设计对当今使用的大多数其他编程语言都有着深远的影响。受 C 语言影响的语言包括 Java 、 PHP 、 JavaScript 、 C# 、 Python 等等。这些语言的语法、控制结构和其他基本功能都是基于 C 设计的。
C 由于其可移植性,支持不同的硬件和操作系统。通常,它被视为一门基础语言,并影响了许多其他计算机语言。它在学术界和工业界有着最广泛的应用。C 的相关性和广泛认可性使其对未来的程序员至关重要。
C 编程语言的发展历史对于计算机科学和软件工程的发展而言非常引人入胜且至关重要。
按年份划分的编程发展如下:
Overview of C Language History
C 语言历史概述如下:
Origin of C Programming
“ALGOL” 是编程语言的基础或始祖。它在 1960 年首次推出。“ALGOL” 在欧洲国家被广泛使用。ALGOL 为开发人员社区引入了结构化编程的概念。1967 年标志着一种名为 “BCPL”(Basic Combined Programming Language 的缩写)的新型计算机编程语言的推出。BCPL 由马丁·理查兹在 20 世纪 60 年代中期设计。
丹尼斯·里奇在 20 世纪 70 年代初的贝尔实验室创建了 C 语言。它是从由肯·汤普森创建的较旧语言 B 发展而来的。创建 C 语言的主要目的是构建 Unix 操作系统,这对当代计算机的进步至关重要。BCPL、B 和 C 都牢牢地适合 Fortran 和 Algol 60 所代表的传统过程类型。BCPL、B 和 C 在许多细节上在句法上有所不同,但从广义上讲它们是相似的。
History of C Versions After Traditional C
K&R C
丹尼斯·里奇与布莱恩·克尼汉一起出版了他们的著作《C 编程语言》第一版。这本书又称为 K&R(作者姓名首字母缩写),多年来一直作为该语言的非正式规范。书中描述的 C 语言版本通常称为“K&R C”。它也称为 C78 。
KR C 中引入的很多 C 语言特性如今仍然是语言的一部分,并且在 2018 年被正式认可。在 C 的早期版本中,只有返回类型而非 int 的函数才会在函数定义之前使用时进行声明;未经预先声明而使用的函数则假定返回类型 int 。
AT&T 和其他供应商的 C 编译器支持添加到 KR C 语言中的多项特性。尽管 C 开始变得流行起来,但缺少统一性。因此,人们认为语言规范必须标准化。
ANSI C
20 世纪 80 年代,美国国家标准协会 (ANSI) 开始为 C 语言制定一项正式标准。这导致了 ANSI C 的开发,该标准于 1989 年标准化。ANSI C 引入了多项新特性,并阐明了早期语言版本中存在的模糊性。
C99
1999 年,ISO/IEC 批准了 C 标准的更新版本,即 C99。C 标准在 20 世纪 90 年代末进一步修订。
C99 引入了新特性,包括内联函数、多项新数据类型(如用于表示复数的复数类型),以及可变长度数组等。它还增加了对从 // 开始的 C++ 风格 one-line comments 的支持。
C11
C11 于 2011 年发布,是 C 标准的另一项重大修订。C11 标准为 C 和库添加了新特性,并引入了多线程支持、匿名结构和联合,以及改进的 Unicode 支持等特性。
它包括类型通用宏、匿名结构、改进的 Unicode 支持、原子操作、多线程和边界检查函数。它与 C++ 的兼容性得到了改进。
C23
C23 是下一次 C 语言标准修订的非正式名称,预计将在 2024 年发布。此次修订预计将引入 14 个新关键字。
多年来,C 一直保持流行,因为它简单、高效且通用。它被用于创建多种软件,包括 operating systems 、 embedded systems 、应用程序和游戏。C 的语法和语义还影响到了不同的现代编程语言,如 C++ 、Java 和 Python。