0.3--C/C++简介[译]

原文:C/C++简介  作者:Alex

在 C++ 之前,有 C

C 语言由 Dennis Ritchie  1972 年在贝尔电话实验室开发,主要作为一种系统编程语言(一种用于编写操作系统的语言)。 Ritchie 的主要目标是创造一种易于编译、允许高效访问内存、生成高效代码并且独立(不依赖其他程序)的简约语言。对于高级语言来说,它的设计目的是为程序员提供很多控制权,同时仍然鼓励平台(硬件和操作系统)独立性(即不必为每个平台重写代码)。

C 最终变得十分高效和灵活,以至于在 1973 年,Ritchie 和 Ken Thompson 使用 C 重写了大部分 Unix 操作系统。许多以前的操作系统都是用汇编语言编写的。与汇编只能开发在特定 CPU 上运行的程序不同,C 语言具有出色的可移植性,使得 Unix 可以轻松地在许多不同类型的计算机上重新编译并加速其采用。 C 和 Unix 的命运紧密相连,而 C 的流行在一定程度上与 Unix 作为操作系统的成功息息相关。

1978 年,Brian Kernighan 和 Dennis Ritchie 出版了一本名为《C 编程语言》的书。这本书通常被称为 K&R(以作者的姓氏命名),为该语言提供了非正式的规范,并成为事实上的标准。当需要最大程度的可移植性时,程序员会坚持 K&R 中的建议,因为当时大多数编译器都是按照 K&R 标准实现的。

1983 年,美国国家标准协会 (ANSI) 成立了一个委员会,为 C 制定正式标准。1989 年(委员会花了很长时间做很多事情),他们完成并发布了 C89 标准,通常称为 ANSI C。 1990 年,国际标准化组织 (ISO) 采用了 ANSI C(进行了一些小的修改)。这个版本的 C 被称为 C90。编译器最终变得符合 ANSI C/C90 标准,并且需要最大可移植性的程序也按照此标准进行编码。

1999年,ISO委员会发布了C的新版本,称为C99。 C99 采用了许多已作为扩展进入编译器或已在 C++ 中实现的功能。

C++

C++(发音为“see plus plus”)是由贝尔实验室的 Bjarne Stroustrup 于 1979 年开发的,作为 C 的扩展。C++ 为 C 语言添加了许多新功能,但最好将其视为 C 的超集。这并不完全正确(因为 C99 引入了一些 C++ 中不存在的功能)。 C++ 的声誉主要源于它是一种面向对象的语言。至于什么是“对象”以及它与传统编程方法有何不同,我们将在后面的章节中介绍。

C++ 于 1998 年由 ISO 委员会标准化(这意味着 ISO 标准委员会批准了一份描述 C++ 语言的文档,以帮助确保所有编译器遵守同一组标准)。该语言的一个小更新于 2003 年发布(称为 C++03)。

此后,C++ 语言(C++11、C++14、C++17、C++20 和 C++23)进行了五次重大更新,每次都添加了附加功能。 C++11 尤其添加了大量新功能,并被广泛认为是该语言的新基线版本。未来该语言预计每三年左右升级一次。

该语言的每个新的正式版本称为语言标准(或语言规范)。标准以发布年份命名。例如,没有 C++15,因为 2015 年没有新标准。

C和C++的哲学

C 和 C++ 的基本设计理念可以概括为“信任程序员”——这既美妙又危险。 C++ 旨在让程序员有高度的自由度做他们想做的事。然而,这也意味着该语言通常不会阻止你做没有意义的事情,因为它会假设你这样做是出于某种它不理解的原因。如果新程序员不了解的话,很可能会陷入很多陷阱。这就是为什么知道在 C/C++ 中不应该做什么几乎与知道应该做什么一样重要的主要原因之一。

 

posted on 2024-05-02 20:30  一只空气  阅读(4)  评论(0)    收藏  举报