介绍 C 和 C++ 语言
在 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 出版了一本名为 The C Programming Language 的书。这本书通常被称为 K&R(在作者的姓氏之后),提供了该语言的非正式规范,并成为事实上的标准。当需要最大的可移植性时,程序员会坚持K&R中的建议,因为当时大多数编译器都是按照K&R标准实现的。
1983年,美国国家标准协会(ANSI)成立了一个委员会来建立C的正式标准。在1989年(委员会啥都做呀~),他们完成并发布了C89标准,通常称为ANSI C. 1990年,国际标准化组织(ISO)采用ANSI C(稍作修改的版本)。这个版本的 C 被称为 C90。编译器最终符合 ANSI C / C90 标准,并且希望最大可移植性的程序被编码为此标准。
1999年,ANSI 委员会发布了一个名为 C99 的新版 C 语言。C99 采用了许多功能,这些功能已经作为扩展进入编译器,或者已经在 C++ 中实现。
C++
C++(发音为see plus plus)由Bjarne Stroustrup在贝尔实验室开发,作为C的扩展,从1979年开始。C++为C语言添加了许多新功能,也许最好被认为是C的超集,尽管这是并非完全正确(因为C99引入了一些C++中不存在的功能)。C++声名鹊起的主要原因在于它是一种面向对象的语言。至于对象是什么以及它与传统编程方法的区别,我们将在第8章(面向对象编程基础)中介绍它。
C++于1998年由ISO委员会批准,并于2003年再次批准(称为C++ 03)。自那时起,C++语言(C++ 11,C++ 14和C++ 17,在2011年,2014年和2017年得到批准)的三个主要更新已经完成,为该语言添加了额外的功能。特别是C++ 11为该语言添加了大量新功能。这些更新中的一些相关功能将在这些教程中讨论。该语言的未来更新正在积极考虑之中。
C和C++的哲学
C和C++的基本设计理念可以概括为“信任程序员” - 既美妙又危险。C++旨在让程序员可以高度自由地完成他们想要的任务。然而,这也意味着语言通常不会阻止你做一些没有意义的事情,因为它会假设你因为某些原因而无法理解。如果没有意识到,新程序员可能会陷入相当多的陷阱。这是“知道如何正确使用C++和不该怎么用C++编程两者同等重要”的原因之一。
问:C++擅长什么?
C++在需要高性能和精确控制内存和其他资源的情况下表现出色。以下是一些常见的应用程序类型,最有可能用C++编写:
- 视频游戏
- 实时系统(例如运输,制造等……)
- 高性能金融应用(例如高频交易)
- 图形应用程序和模拟
- 生产力/办公应用
- 嵌入式软件
- 音视频处理
问:在进行这些教程之前,我是否需要了解 C?
不需要!从C++开始是完美的,我们会教你一路上需要知道的一切(包括要避免的坑)。
一旦你了解了C++,如果你有需要,学习标准C应该很容易。目前,C主要用于小众用例:在嵌入式设备上运行代码,以及与只支持C的代码打交道的时候……大多数情况下,建议使用C++。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: 介绍 C++ 开发
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论