Why
How
What
History
- 在Bjarne博士等人试图去分析UNIX的内核的时候(1979.04),当时由于没有合适的工具能够有效的**分析由于内核分布而造成的网络流量**,以及怎样将内核模块化。同年10月,Bjarne博士完成了一个可以运行的预处理程序,称之为Cpre,它为C加上了类似Simula的类机制。在这个过程中,Bjarne博士开始思考是不是要开发一种新的语言,当时贝尔实验室对这个想法很感兴趣,就让Bjarne博士等人组成一个开发小组,专门进行研究。当时不是叫做C++,而是C with class,这是把它当作一种C语言的有效扩充。由于当时C语言在编程界居于老大的地位,要想发展一种新的语言,最强大的竞争对手就是C语言,所以当时有两个问题最受关注:
- C++要在运行时间、代码紧凑性和数据紧凑性方面能够与C语言相媲美
- 尽量避免在语言应用领域的限制。
- 在这种情况下,一个很自然的想法就是让C++从C语言继承过来,但是我们的**Bjarne为了避免受到C语言的局限性,参考了很多的语言,例如:从Simula继承了类的概念,从Algol68继承了运算符重载、引用以及在任何地方声明变量的能力,从BCPL获得了//注释,从Ada得到了模板、名字空间,从Ada、Clu和ML取来了异常**。下图是C++标准的上个世纪的历史:
Reference