C++出现之前是C:
C语言是在1972年的贝尔实验室由Dennis Ritchie发明的,主要作为系统编程语言。Dennis Ritchie发明改语言的目的是用一种极其简单的语言来写操作系统,改语言可以操作内存空间,可以生成有效的代码,并且不需要运行的支持。因此对于高级语言来说,他的设计仍然是非常低级的,它同时仍然鼓励独立与平台的编程。
C语言在1973年变得非常高效和简单,Ritchie and Ken Thompson重新用C语言写了UNIX系统。之前的很多系统都是汇编语言写的。不像汇编语言只能绑定特定的CPU,C语言可以移植到任意的电脑上,从而加速了C的推广。自此,C语言就和UNIX紧紧绑定在一起了,C的流行也有部分原因是由于UNIX操作系统的流行。
在1978年,Brian Kernighan and Dennis Ritchie 共同出版看了一本“C语言编程”。这本书普遍的被称为K&R,提供了一些C语言细节,并逐渐成为了一种标准。当有大的移植的时候,程序员会遵循K&R的建议,因为当时大多数的编译器都应用K&R标准。
在1983年,American National Standards Institute (ANSI)成立了一个C的标准协会,创建了一套C的标准。在1989年他们创建了C89标准,即ANSI C。1990年国际标准组织承认了ANSIC,并有效部分修改。这个版本是C90,编译器最终都遵循了ANSIC/C90,并且遵循该标准的C有更好的移植性。
1999年,ANSI标准委员会推出了一个新的版本C99.这个版本接纳了一些已经存在于编译器中的特性,或者已经在C++中实现的特性。
C++:
C++是在1979年的贝尔实验室由Bjarne Stroustrup基于C的基础上扩展出来的。C++在C的基础上增加了一些新的特性,也可以理解为C的一个超集,当然C99中也推出了一些C++没有的特性。C++是一个对象系统,主要强调的是事实。我们将在第8章来描述面向对象和面向过程的编程语言的不同之处。
C++在1998年和2003年(C++03)被ISO标准协会批准。自此之后出过两个版本,2011年和2014年,即C++11,C++14,为该语言增加了一些新的接口。这些协议中相关特性的修改将在之后的课程中提到。
C和C++的哲学观:
C和C++的设计哲学可以归纳为“相信编程者”,这样既精彩又危险。C++允许程序员有非常高的自由度做他们喜欢的事情。然而,这也意味着程序不会阻止你去做一些毫无意义的事情。如果意识不到,新手往往会落入一些陷阱。这也就是你必须知道在C++中那些事情不能做,和那些事情可以做一样重要。
在学习本教程之前你并不需要学习C,该教程会教会你每一件相关的知识。